鱼C论坛

 找回密码
 立即注册
查看: 1338|回复: 8

[已解决]python 关于break 的使用

[复制链接]
发表于 2022-3-23 22:51:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
各位大神第一次刚学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 ('欢迎您回来')

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

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


  2. i = 1

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

  10.     print ('欢迎您回来')
  11. else:
  12.     print('恭喜你,密码正确!')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-3-23 22:53:09 | 显示全部楼层
本帖最后由 isdkz 于 2022-3-23 22:54 编辑

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

  2. password = ''
  3. i = 1

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

  12.     print ('欢迎您回来')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-23 22:53:31 | 显示全部楼层
break只能跳出循环,那里break之后还是会执行最后一句print的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-23 22:55:51 | 显示全部楼层
  1. password = ''
  2. i = 1

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

  11.     print ('欢迎您回来')
复制代码


因为你的print在while外面
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-23 23:02:36 | 显示全部楼层
isdkz 发表于 2022-3-23 22:53
缩进不对,print ('欢迎您回来') 不在循环内,break 对它没有影响

那如果我想实现就是输入完十次错误密码后只显示‘账号被冻结的提示’而没有‘欢迎您回来’应该怎么改这个程序啊?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-23 23:03:11 | 显示全部楼层
Zmynx_2017 发表于 2022-3-23 22:53
break只能跳出循环,那里break之后还是会执行最后一句print的

那如果我想实现就是输入完十次错误密码后只显示‘账号被冻结的提示’而没有‘欢迎您回来’应该怎么改这个程序啊?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

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


  2. i = 1

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

  10.     print ('欢迎您回来')
  11. else:
  12.     print('恭喜你,密码正确!')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-23 23:39:00 | 显示全部楼层

啊 原来while 也一样可以跟着else的。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-23 23:40:26 | 显示全部楼层
Victor0321 发表于 2022-3-23 23:39
啊 原来while 也一样可以跟着else的。。。

对的,break 结束循环就不会执行 else 里面的内容。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-29 12:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表