流程控制之循环结构
while + break
while + continue
while + else
死循环 与全局标志位
在python中只有for 和while两种循环
while 的循环逻辑
while 条件:
条件成立之后循环执行的子代码
1.先判断while后面的条件是否成立 如果成立则执行子代码
2.子代码运行完毕之后 再次回到while后面的条件判断处 判断条件是否成立
3.如果成立则继续运行子代码 完毕后再次判断while后面的条件是否成立
4.依次往复 直到条件不成立才会结束
总结:
while 每执行完一次条件成立后的代码,会再次判断是否成立,不成立,便还会退出循环。
例: #用户登录 while True: name = input('name:') passwd = input('密码:') if name == 'jason' and passwd == '123': print('login成功') else: ('用户名错误或者密码错误') ----------------------------------------------------------------------------- #计数器限制循环登录次数 #练习 登录失败3次退出 count = 1 while count < 4: count += 1 name = input('请输入你的名称:') pw = input('请输入密码:') if name == '123' and pw == '123': print('login 成功') else: print('login失败')
while +break 就是在循环体中,添加关键字break强制结束循环
#强制循环结束 count = 1 while True: count += 1 if count <= 10: print(count) break
while True: name = input('name>>>:') pwd = input('pwd>>>:') if name == 'jason' and pwd == '123': print('登录成功') # 强制结束 break # 直接结束break所在的循环体 (结束本层循环) else: print('用户名或密码错误')
根据条件跳过一次,然后继续执行下一步。
-------------------------------练习1---------------------------------------- #打印1~10. count = 0 while count < 10: count +=1 if count == 7: count += 1 continue #跳过本次循环 print(count) -------------------------------练习2--------------------------------------- #打印 1~10,遇到7跳过 count = 0 while count < 10: count +=1 if count == 7: continue #当count = 7时,跳过本次循环,继续向下执行。 print(count)
while True: print('外部循环') while True: print('内部循环') continue continue 总结: 跳过一次循环,然后继续进行内部循环
else判断循环体是否正常结束,才会执行else下的代码,如果循环体中出现break中断,那么不执行eles子代码
#打印1~5排除 count = 0 while count < 5: count += 1 print(count) else: print('循环结束')
-----------执行结果--------- 1 2 3 4 5 循环结束
不允许出现的循环:死循环
1.计算死循环 count = 10 while True: count *= 10 # 计算死循环 不允许出现 有问题 while True: print('这是一个循环体')
全局标志位
当想停止嵌套型循环体时,也可以用全局标志位进行停止
#例 flag = True while flag: print(123) while flag: print(321) while flag: print(222) flag = False