您的位置:首页 > 其它

第八章 转圈圈

2016-09-27 15:35 148 查看

8.1 计数循环

第一种循环为计数循环,也可以称为for循环

for looper in [1,2,3,4,5]
print "Hello"

#结果
>>>Hello
>>>Hello
>>>Hello
>>>Hello
>>>Hello
>>>


第一行(for looper in [1,2,3,4,5])代码的意思是:

(1)looper 值从1开始(所以looper=1)

(2)对应列表中的每一个值,这个循环会把下一个指令块中的所有工作完成一次。(列表就是中括号中的那些数)

(3)每次执行循环时,变量looper会赋为这个列表的下一个值。

失控的循环

循环失控的时候(无限循环),CTRL+C停止python程序。

8.2 使用计数循环

打印8的乘法表

for looper in [1,2,3,4,5]
print looper,"times 8 =",looper*8

#结果
>>>
1 time 8 = 8
2 time 8 = 16
3 time 8 = 24
4 time 8 = 32
5 time 8 = 40
>>>


8.3 一条捷径——range()

range()函数,只输入起始值和结束值,然后会创建一个ieliebiao,包含某个范围内的数。

值得注意的是:range(),它会提供一个数字列表,从给定的第一个数开始,在给定的最后一个数之前结束。

>>>print range(1,5)
[1,2,3,4]


for looper in range(1,5)
print looper,'time 8 =",looper*8


range简写

for i in range(5):

#与下述语言等价

for i in range(0,5):


8.5 按步长计数

range()可以提供一个额外的参数,可以把每次增加的数从1变成指定数

>>>for i in range(1,10,2):
print i
1
3
5
7
9


range()在参数为负数时候,也可以实现反向计数

>>>for i in range(10,1,-1):
print i
10
9
8
7
6
5
4
3
2


import time
for i range(10,0,-1):
print i
time.sleep(1)#等待一秒
print "BLAST OFF!"


8.6 没有数字的计数

循环迭代里的列表,不一定是数字列表,字符串列表也可以进行技术循环

for cool_guy in ["Spongbob","Spiderman","Justin Timberlake","My Dad"]:
print cool_guy,"is the coolest guy ever!"


8.7 关于这个问题

(问题是:如果我们无法提前知道需要多少次迭代呢?如果没有可用的值列表呢?)

这就涉及到第二种循环,称为while循环或者条件循环。

print "Type 3 to continue, anything else to quit."
someUnput = raw_input()
while someInput()
while someInput == '3'#只要someInput='3'就一直循环
print "Thank you for the 3. Very kind of you."
print "Type 3 to continue, anything else to quit."
someInput=raw_input()
print "That's not 3, so I'm quitting now."


8.8 跳出循环——break和continue

如果希望在中间离开循环,也就是for循环结束计数之前,或者while循环找到结束条件之前。

有两种方法来做到:可以用continue直接跳到循环的下一次迭代,或者用break完全终止循环

提前跳转——continue

for i in range(1,6)
print i
print 'i=',i,
print 'Hello,how',
if i==3:
continue
print 'are you today?'


运行程序时,输出如下:

i=1 Hello how are you today?
i=2 Hello how are you today?
i=3 Hello how#i=3时候循环体未接触,没有输出"are you today?",直接进入下一次循
4000
环。
i=4 Hello how are you today?
i=5 Hello how are you today?


跳出——break

for i in range(1,6)
print i
print 'i=',i,
print 'Hello,how',
if i==3:
break
print 'are you today?'


运行程序时,输出如下:

i=1 Hello how are you today?
i=2 Hello how are you today?
i=3 Hello how#i=3时候直接结束整体循环
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: