学python 第十八弹 循环2
按步长计数
到目前为止,我们的计数循环都是每一次迭代时计数增 1 。如果希望循环按步长为 2 来计数该怎么做,或者步长为 5 或 10尼,还有,如果想反向计数,又该怎么做。
range() 函数有一个额外的参数,利用这个参数可以把步长从默许的 1 改为不同的值。
我们尝试几个循环
>>>for i in range(1,10,2):
print(i)
结果如下:
1
3
5
7
9
上面我们向 range()函数增加了第三个参数 2 ,现在循环按步长为 2 计数,
我们按照步长为 5 计数。
>>> for i in range(5,45,5):
print(i)
5
10
15
20
25
30
35
40
>>>
我们来看看一个反向计数
>>> for i in range(10,1,-2):
print(i)
10
8
6
4
2
>>>
我们来做一个计时器程序,
#程序清单8-6 你准备好了吗
import time
for i in range(10,0,-1):
print(i)
time.sleep(1)#等待一秒
print('开始')
运行结果:
==================== RESTART: D:/study/learn python/定时器程序.py ===================
10
9
8
7
6
5
4
3
2
1
开始
>>>
自己去运行代码,才能看到运行等待的时间。
没有数字的计数
在上面的例子中,循环变量都是数字,专业来说,循环迭代处理一个数字列表,但是列表不一定非得是数字列表,它也可以时字符串列表,或者其他的列表。
我们举个例子来看看,
for students in ['小白','小张','小李','小夏']:
print(students,'是最帅的')
结果
>>>
===================== RESTART: D:/study/learn python/谁最帅.py ====================
小白 是最帅的
小张 是最帅的
小李 是最帅的
小夏 是最帅的
所以,我们的循环也可以处理字符串。
更新到这里。