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)

坑人的现象:

 

[python] view plain copy
  1. for i in range(5):  
  2.     print i  
  3.     i += 2  
  4.     print i  
  5.     print '一轮结束'  

结果:

     

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

   

而不是:

    

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

[python] view plain copy
  1. i = 0  
  2. while i < 5:  
  3.     print i  
  4.     i += 2  
  5.     print i  
  6.     print '一轮结束'  


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

 

[python] view plain copy
  1. shu=10000  
  2. result=[a for a in range(1,shu+1) if shu%a==0]  
  3. print(result)  

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

猜你喜欢

转载自www.cnblogs.com/fmgao-technology/p/9071681.html