循环语句就是在符合条件的情况下。重复执行一个代码段。Python中的循环语句有while和for。
简单的while循环
while是一个条件循环语句,与if一样,他也有条件表达式。如果条件为真,while中的代码就会一直循环执行,直到循环条件不再为真才停止。
语法:while 条件:
<条件为真(True),执行代码块>
count = 0 while count <= 2: print('count={},第{}次循环开始'.format(count,count+1)) count += 1 print('第{}次循环结束'.format(count)) print('*'*100)
while循环嵌套
if中可以再嵌套if,那么while中也可以嵌套while循环,从而实现一些特殊的效果。
语法:while 条件:
<条件为真(True),执行代码块>
while 条件:
<条件为真(True),执行代码块>
while - else语句
while-else在条件语句为false时执行else语句块。
语法:while 条件:
<条件为真(True),执行代码块>
else:
<条件为假(Fale),执行代码块>
count = 0 while count <= 2: print('count={},第{}次循环开始'.format(count,count+1)) count += 1 print('第{}次循环结束'.format(count)) print('*'*100) else: print('count={},count > 2,不能进入while循环'.format(count))
简单的for循环
for是Python中另外一个循环语句,提供了Python中最强大的循环结构,它可以循环遍历任何序列项目,如一个列表或者一个字符串。(sequence可以是列表元组集合,如果是字典只能遍历keys,无法遍历values)
语法:for <element> in <sequence>:
<statements>
fruitBasket = ['苹果','香蕉','李子'] print('这篮子有:',end=' ') for i in fruitBasket: print('{}'.format(i),end=',')
for - else语句
for - else语句只有for正常迭代完,才会执行else中的代码块。否则不执行。
语法:for <element> in <sequence>:
<statements>
else:
<statements>
for element in range(9): pass # if element == 2: # print('异常退出:可迭代对象还未迭代完,被强制退出。') # break else: print('for循环正常退出') print(element) #在循环体外可访问接收迭代返回值的变量,不过得到的是最后一个返回值。
在循环中使用break
在循环语句中使用break的作用是,在循环体内遇到break则会跳出循环,终止循环,并且不论循环的条件是否为真,都不再继续循环下去。
count = 0 while True: print('count={},第{}次循环开始'.format(count,count+1)) count += 1 print('第{}次循环结束'.format(count)) print('*'*100) if count > 2: print('count={},count > 2,退出while循环'.format(count)) print('*'*100) break for i in range(10): print(i) if i == 5: break
在循环中使用continue
如果想要一种效果,退出当前循环,再继续执行下一次循环。就可以使用continue。
注意:continue和break常用于while和for循环中。
count = 0 while count <= 2: if count == 1: print('count={},count = 5,退出当前while循环'.format(count)) print('*'*100) count += 1 continue print('count={},第{}次循环开始'.format(count, count + 1)) count += 1 print('第{}次循环结束'.format(count)) print('*' * 100) for i in range(3): if i == 1: continue print(i)
pass语句
pass语句的使用表示不希望任何代码或者命令的执行;pass语句是一个空操作,在执行的时候不会产生任何反应;pass语句常出现在if、while、for等各种判断或者循环语句中。
小技巧:一个状态可退出所有while循环
status = True while status: print('layer1') while status: print('layer2') while status: print('layer3') status = input('是否退出循环 yes|no:') if status == 'yes':status=False