Victor0321 发表于 2022-3-23 22:51:45

python 关于break 的使用

各位大神第一次刚学python两天,想自己试一试关于输入密码10次就会锁账号的小程序,下面是自己写的,但是为什么在尝试10次输入错误之后,break没有把‘欢迎你回来’给直接中止了啊?

球球大神指教。。。


'''输入密码小游戏'''

password = ''
i = 1

while password != 'FishC':
    password = input('请输入密码')
    if i <10:
      print('您还剩下',10-i,'次机会')
      i +=1
      if i == 10:
            print ('您的账号已被冻结')
            break

print ('欢迎您回来')

isdkz 发表于 2022-3-23 22:53:09

本帖最后由 isdkz 于 2022-3-23 22:54 编辑

缩进不对,print ('欢迎您回来') 不在循环内,break 对它没有影响
'''输入密码小游戏'''

password = ''
i = 1

while password != 'FishC':
    password = input('请输入密码')
    if i <10:
      print('您还剩下',10-i,'次机会')
      i +=1
      if i == 10:
            print ('您的账号已被冻结')
            break

    print ('欢迎您回来')

Zmynx_2017 发表于 2022-3-23 22:53:31

break只能跳出循环,那里break之后还是会执行最后一句print的

genius_7321 发表于 2022-3-23 22:55:51

password = ''
i = 1

while password != 'FishC':
    password = input('请输入密码')
    if i <10:
      print('您还剩下',10-i,'次机会')
      i +=1
      if i == 10:
            print ('您的账号已被冻结')
            break

    print ('欢迎您回来')

因为你的print在while外面

Victor0321 发表于 2022-3-23 23:02:36

isdkz 发表于 2022-3-23 22:53
缩进不对,print ('欢迎您回来') 不在循环内,break 对它没有影响

那如果我想实现就是输入完十次错误密码后只显示‘账号被冻结的提示’而没有‘欢迎您回来’应该怎么改这个程序啊?

Victor0321 发表于 2022-3-23 23:03:11

Zmynx_2017 发表于 2022-3-23 22:53
break只能跳出循环,那里break之后还是会执行最后一句print的

那如果我想实现就是输入完十次错误密码后只显示‘账号被冻结的提示’而没有‘欢迎您回来’应该怎么改这个程序啊?

isdkz 发表于 2022-3-23 23:25:01

Victor0321 发表于 2022-3-23 23:02
那如果我想实现就是输入完十次错误密码后只显示‘账号被冻结的提示’而没有‘欢迎您回来’应该怎么改这个 ...

'''输入密码小游戏'''


i = 1

while input('请输入密码') != 'FishC':
    if i <11:
      print('您还剩下',10-i,'次机会')
      i +=1
      if i == 11:
            print ('您的账号已被冻结')
            break

    print ('欢迎您回来')
else:
    print('恭喜你,密码正确!')

Victor0321 发表于 2022-3-23 23:39:00

isdkz 发表于 2022-3-23 23:25


啊 原来while 也一样可以跟着else的。。。

isdkz 发表于 2022-3-23 23:40:26

Victor0321 发表于 2022-3-23 23:39
啊 原来while 也一样可以跟着else的。。。

对的,break 结束循环就不会执行 else 里面的内容。
页: [1]
查看完整版本: python 关于break 的使用