python基础04-流程控制-循环结构-while循环
今日学习
流程控制之循环结构
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
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('用户名或密码错误')
while + continue
根据条件跳过一次,然后继续执行下一步。
-------------------------------练习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
总结:
跳过一次循环,然后继续进行内部循环
while+else
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