zoukankan      html  css  js  c++  java
  • 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次,然后进行判断并且打印所有约数

  • 相关阅读:
    cf492D Vanya and Computer Game
    cf492C Vanya and Exams
    cf492A Vanya and Cubes
    bzoj2038 [2009国家集训队]小Z的袜子(hose)
    bzoj3781 小B的询问
    bzoj1858 [Scoi2010]序列操作
    bzoj1060 [ZJOI2007]时态同步
    算法学习心得
    bzoj1054 [HAOI2008]移动玩具
    bzoj3437 小P的牧场
  • 原文地址:https://www.cnblogs.com/beiyi888/p/9662665.html
Copyright © 2011-2022 走看看