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:密码正确,提前结束进程)

两种循环结构做这个选题的时候除了控制循环次数的方式不同,其它都是一样的

最后修改:2021 年 07 月 01 日 11 : 24 AM