上QQ阅读APP看书,第一时间看更新
2.2 循环结构
Python提供了两种循环:for循环和while循环。
1.for循环
for循环可以遍历任何序列的数据,例如一个列表或者一个字符串,for循环的语法格式如下:
for变量 in序列结构: 语句块
代码如下:
for x in'首都北京': print(x)
运行结果如下:
首 都 北 京
可以看出,for循环按照序列结构自身的序列顺序,依次取出一个元素并赋值给变量。任何序列结构都可以用for循环遍历,示例代码如下:
for i in['福建','山东']: print(i)
运行结果如下:
福建 山东
for语句经常和range()函数配合使用,并可指定循环次数。range()函数用于产生一系列数据,range()函数的语法结构如下:
range(开始数字,结束数字,步长)
例如range(-10,-100,-30)会生成-10、-40、-70;当第3个参数省略时,数据的步长为1,例如range(5,8)会生成5、6、7;当第1个参数省略时从0开始产生数据序列,例如range(3)会生成0、1、2,示例代码如下:
#//第2章/2.5.py for a in range(2,10,2): print(a,end='') print() for a in range(2,10): print(a,end='') print() for a in range(2): print(a,end='')
运行结果如下:
2 4 6 8 2 3 4 5 6 7 8 9 0 1
注意 range()函数产生的数据不包含右边界。
range(3)会产生数据0、1、2,不包含3。
range(2,10)会产生数据2、3、4、5、6、7、8、9,不包含10。
2.while循环
while循环语法格式如下:
while<判断条件>: <执行语句>
如果<判断条件>成立,就执行<执行语句>;如果判断条件不成立,就退出循环,示例代码如下:
#//第2章/2.6.py x=0 while x<3: print('循环中') x=x+1 print('循环结束')
运行结果如下:
循环中 循环中 循环中 循环结束
如果退出条件不成立,则程序会一直执行。
3.循环控制continue与break
continue用于跳过该次循环,代码如下:
#//第2章/2.7.py x=0 while x< 10: x=x+1 if x==2: continue print(x,end='')
运行结果如下:
13456789
由上可知,当x==2时循环并没有结束,只是跳过了当次循环。
break则用于退出循环,示例代码如下:
#//第2章/2.8.py x=0 while x< 10: x=x+1 if x==2: continue if x==7: break print(x,end='')
运行结果如下:
13456
由上可知,当x==7时break结束了当前循环。如果嵌套了多层循环,则它只终止所在层的循环,示例代码如下:
#//第2章/2.9.py x=0 while x<6: print('这是外层循环') x=x+1 for i in range(x): if i==4: break print(i,end='') print()
运行结果如下:
这是外层循环 0 这是外层循环 01 这是外层循环 012 这是外层循环 0123 这是外层循环 0123 这是外层循环 0123
由此可见,当i==4时break退出for循环,而外层的while循环还在进行。