break
语句
用于结束循环结构的运行,循环体中,当break
语句被运行,同一循环体中,语句下面不管还剩多少代码都不再运行,通常与if
...语句分支结构结合使用
选题:
模拟银行取款机输入密码三次错误后锁卡,或者输入正确后进入取款流程
首先用for
...in
...循环来演示
b = 3 # 声明变量b作为允许输入次数3次
for _ in range(3): # 无需访问自定义变量,用下划线_代替,用range()函数控制循环次数3次
a = input('请输入取款密码:') # 获取用户输入的密码储存进变量a
if a == '123456': # 如果用户输入的是正确密码,则执行下列代码
print('输入正确,请继续取款操作。') # 告知输入正确,进入取款流程
break # 结束密码输入流程(结束整个循环结构)
else: # 如果用户输入的是错误密码,则执行下列代码
b -= 1 # 允许输入次数减1
if b == 0: # 如果允许输入次数变成0次
print('输入错误,已被暂时锁定24小时,请明天再试。') # 告知锁卡24小时
else: # 如果允许输入次数还有1次或以上
print('输入错误,您还有', b, '次输入机会,', b, '次输入错误后,将会锁定24小时。') # 告知剩余允许输入次数
运行:
- 输出问题:请输入取款密码:
- 输入数据:456789
- 输出问题:请输入取款密码:
- 输入数据:951753
- 输出问题:请输入取款密码:
- 输入数据:789456
运行结果:
- 输入错误,您还有 2 次输入机会, 2 次输入错误后,将会锁定24小时。
- 输入错误,您还有 1 次输入机会, 1 次输入错误后,将会锁定24小时。
- 输入错误,已被暂时锁定24小时,请明天再试。
再次运行:
- 输出问题:请输入取款密码:
- 输入数据:456789
- 输出问题:请输入取款密码:
- 输入数据:123456(PS:密码正确,提前结束进程)
运行结果:
- 输入错误,您还有 2 次输入机会, 2 次输入错误后,将会锁定24小时。
- 输入正确,请继续取款操作。(PS:密码正确,提前结束进程)
首次运行,三次密码都输入错误,最后锁卡了,再次运行,第二次密码输入正确,流程控制语句break
提前结束了密码输入进程(结束整段循环结构),并且不再运行同一循环体中break
语句以下的任何代码,所以没有提示第三次密码输入
然后用while
...循环来演示
i = 0 # 声明变量i用作while...循环的条件表达式
b = 3
while i < 3: # 设置合适的条件表达式来限制循环次数
i += 1 # 变量i的初始值为0,循环一次加1,三次后将不再符合条件表达式,以此来达到控制循环次数的效果
a = input('请输入取款密码:')
if a == '123456':
print('输入正确,请继续取款操作。')
break
else:
b -= 1
if b == 0:
print('输入错误,已被暂时锁定24小时,请明天再试。')
else:
print('输入错误,您还有', b, '次输入机会,', b, '次输入错误后,将会锁定24小时。')
运行:
- 输出问题:请输入取款密码:
- 输入数据:456789
- 输出问题:请输入取款密码:
- 输入数据:951753
- 输出问题:请输入取款密码:
- 输入数据:789456
运行结果:
- 输入错误,您还有 2 次输入机会, 2 次输入错误后,将会锁定24小时。
- 输入错误,您还有 1 次输入机会, 1 次输入错误后,将会锁定24小时。
- 输入错误,已被暂时锁定24小时,请明天再试。
再次运行:
- 输出问题:请输入取款密码:
- 输入数据:456789
- 输出问题:请输入取款密码:
- 输入数据:123456(PS:密码正确,提前结束进程)
运行结果:
- 输入错误,您还有 2 次输入机会, 2 次输入错误后,将会锁定24小时。
- 输入正确,请继续取款操作。(PS:密码正确,提前结束进程)
两种循环结构做这个选题的时候除了控制循环次数的方式不同,其它都是一样的