python 中range函数的用法

先列几个range()函数的几个用法:

              

函数原型:range(start, end, scan):

参数含义:

start:计数从start开始。默认是从0开始。例如range(5)等价于range(0, 5);

end:技术到end结束,但不包括end.例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5

 scan:每次跳跃的间距,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

坑人的现象:

  1. for i in range(5):  
  2.     print i  
  3.     i += 2  
  4.     print i  
  5.     print '一轮结束'  

结果:

     

因为在for循环中,实际上是根据range的值对i进行了赋值操作,所以不论在for中如何更改i的值,在下一次循环前,i的值都会重新赋值,所以这个循环一共执行5次。

   

而不是:

    

要想获取上面的效果,代码如下:

 
  1. i = 0  
  2. while i < 5:  
  3.     print i  
  4.     i += 2  
  5.     print i  
  6.     print '一轮结束' 

如何利用range()获取一个数的所有约数:

shu=10000

result=[a for a in range(1,shu+1) if shu%a==0]

print(result)

从1到10000,循环一共执行了1000次,然后进行判断并且打印所有约数

posted @ 2018-09-17 16:01  BoomOoO  阅读(10005)  评论(0编辑  收藏  举报