鱼C论坛

 找回密码
 立即注册
查看: 1994|回复: 5

[已解决]验证密码的程序问题

[复制链接]
发表于 2023-1-25 16:42:05 | 显示全部楼层 |阅读模式
5鱼币
写了一个验证密码的程序,计划是如果连续输入3次错误密码就自爆,但是为什么我输入两次就停止了?
  1. from time import sleep
  2. answer = input('本文为密码文,请输入密码:')
  3. jh = 3
  4. if '*' in answer:
  5.     answer = input(f'密码中不能含有*,你还有{jh}次机会!请输入密码:')
  6. elif answer == '我打死也不信有人能破译密码':
  7.     print('密码正确,正在进入文章')
  8. elif answer != '我打死也不信有人能破译密码':
  9.     jh -=1
  10.     answer = input(f'密码错误,你还有{jh}次机会!请输入密码:')
  11. elif jh == 0:
  12.     print('密码错误数达到3次,系统保护模式启动')
  13.     print('10秒钟后系统将进行自爆')
  14.     sleep(1)
  15.     print('10')
  16.     sleep(1)
  17.     print('9')
  18.     sleep(1)
  19.     print('8')
  20.     sleep(1)
  21.     print('7')
  22.     sleep(1)
  23.     print('6')
  24.     sleep(1)
  25.     print('5')
  26.     sleep(1)
  27.     print('4')
  28.     sleep(1)
  29.     print('3')
  30.     sleep(1)
  31.     print('2')
  32.     sleep(1)
  33.     print('1')
  34.     sleep(1)
  35.     print('0')
  36.     sleep(1)
  37.     print('自爆')
  38.    
复制代码
最佳答案
2023-1-25 16:42:06
这是你代码逻辑的问题
假设我们输入的密码是 aaa 那么程序的前两个判断都不成立会跑到第三个判断哪里也就是第八行哪里,判断结果会成立。
结果成立开始执行成立后的代码会 jih 会减一也就是jh=2 然后再次让你输入密码。
后面的判断也不会成立,相当于后面的代码完全不执行。那么从游戏开始到游戏结束你也就只输入了两次。你的设计压根没给你自己输第三次的机会。

最佳答案

查看完整内容

这是你代码逻辑的问题 假设我们输入的密码是 aaa 那么程序的前两个判断都不成立会跑到第三个判断哪里也就是第八行哪里,判断结果会成立。 结果成立开始执行成立后的代码会 jih 会减一也就是jh=2 然后再次让你输入密码。 后面的判断也不会成立,相当于后面的代码完全不执行。那么从游戏开始到游戏结束你也就只输入了两次。你的设计压根没给你自己输第三次的机会。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-1-25 16:42:06 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
这是你代码逻辑的问题
假设我们输入的密码是 aaa 那么程序的前两个判断都不成立会跑到第三个判断哪里也就是第八行哪里,判断结果会成立。
结果成立开始执行成立后的代码会 jih 会减一也就是jh=2 然后再次让你输入密码。
后面的判断也不会成立,相当于后面的代码完全不执行。那么从游戏开始到游戏结束你也就只输入了两次。你的设计压根没给你自己输第三次的机会。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-1-25 17:11:43 | 显示全部楼层
加循环 while
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-1-25 17:12:49 | 显示全部楼层

我试一下去
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-1-25 17:23:36 | 显示全部楼层


设置次数变量
如果变量(次数)==0
退出循环
开始:
  1. xxx = 3 #设置变量
复制代码
  1. while xxx != 0
  2. 执行指令
复制代码

错误的话将变量-1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-1-25 20:09:48 | 显示全部楼层
linke.zhanghu 发表于 2023-1-25 17:21
这是你代码逻辑的问题
假设我们输入的密码是 aaa 那么程序的前两个判断都不成立会跑到第三个判断哪里也就 ...

听懂了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 06:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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