range()是Python开发中非常常用的一个内置函数,语法格式为range([start,] end [, step] ),有range(stop)、range(start, stop)和range(start, stop, step)三种用法。该函数返回具有惰性求值特点的range对象,其中包含左闭右开区间[start,end)内以step为步长的整数。参数start默认为0,step默认为1。 >>> range(5) #start默认为0,step默认为1 range(0, 5) >>> list(_) [0, 1, 2, 3, 4] >>> list(range(1, 10, 2)) #指定起始值和步长 [1, 3, 5, 7, 9] >>> list(range(9, 0, -2)) #步长为负数时,start应比end大 [9, 7, 5, 3, 1]
>>> x, y, z = range(3) #支持序列解包 >>> print(x, y, z) 0 1 2 >>> x = [1, 2, 3, 4, 5, 6] >>> x[::2] = range(3) #在切片中使用 >>> x [0, 2, 1, 4, 2, 6]
在循环结构中经常使用range()函数来控制循环次数,例如:
>>> for i in range(4): #循环4次 print(3, end=' ') 3 3 3 3
当然,也可以使用range()函数来控制数值范围,例如下面的程序片段可以用来输出200以内能被17整除的最大正整数。 >>> for i in range(200, 0, -1): if i%17 == 0: print(i) break
答案:187