鱼C论坛

 找回密码
 立即注册
查看: 2276|回复: 6

[已解决]求大神看这题我代码为何不能正常运行

[复制链接]
发表于 2020-2-21 12:28:22 | 显示全部楼层 |阅读模式

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

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

x
题目:可以输入三次密码,输入错误则输入次数减少一次并重新输入,如果输入包含*则不减少输入次数,重新输入。正确密码是FishC.com,输入正确则结束。

i=3
code=input('请输入密码: ')
while code != 'FishC.com':
    if '*' in code:
        input('密码中不能包含有“*”号!您还有'+str(i)+'次机会!请输入密码:')
    else:
        i=i-1
        input('密码输入错误!您还有'+str(i)+'次输入机会!请输入密码:')
print('密码正确,进入程序······')

这个代码执行时如果第一次执行了 if后内容,随后的次数无论输入什么都显示if结果。如果第一次执行了else内容,随后无论输入什么都显示else结果。怀疑是while循环用错,求大佬解释为啥会出现这样的结果,谢谢!答案代码已经看过,但还是想看看这个有没救。
最佳答案
2020-2-21 12:31:51
本帖最后由 zltzlt 于 2020-2-21 12:34 编辑

代码帮你改了:

  1. i = 3
  2. code = input('请输入密码: ')
  3. while i:
  4.     if code == "FishC.com":
  5.         print('密码正确,进入程序······')
  6.         break
  7.     if '*' in code:
  8.         code = input('密码中不能包含有“*”号!您还有' + str(i) + '次机会!请输入密码:')
  9.     else:
  10.         i = i - 1
  11.         code = input('密码输入错误!您还有' + str(i) + '次输入机会!请输入密码:')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-21 12:32:19 | 显示全部楼层
改成这样:

  1. i=3
  2. code=input('请输入密码: ')
  3. while code != 'FishC.com':
  4.     if '*' in code:
  5.         code = input('密码中不能包含有“*”号!您还有'+str(i)+'次机会!请输入密码:')
  6.     else:
  7.         i=i-1
  8.         if i == 0:
  9.             break
  10.         code = input('密码输入错误!您还有'+str(i)+'次输入机会!请输入密码:')
  11. else:
  12.     print('密码正确,进入程序······')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-2-21 12:29:16 | 显示全部楼层
问题是旧的python课后作业9动手第0题,抱歉我不会插图片
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-21 12:31:12 | 显示全部楼层
你没有在循环中改变 code 的值,导致 code 一直都是第一次输入的内容。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-21 12:31:51 | 显示全部楼层    本楼为最佳答案   
本帖最后由 zltzlt 于 2020-2-21 12:34 编辑

代码帮你改了:

  1. i = 3
  2. code = input('请输入密码: ')
  3. while i:
  4.     if code == "FishC.com":
  5.         print('密码正确,进入程序······')
  6.         break
  7.     if '*' in code:
  8.         code = input('密码中不能包含有“*”号!您还有' + str(i) + '次机会!请输入密码:')
  9.     else:
  10.         i = i - 1
  11.         code = input('密码输入错误!您还有' + str(i) + '次输入机会!请输入密码:')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-21 12:32:54 | 显示全部楼层
zltzlt 发表于 2020-2-21 12:31
代码帮你改了:

你的代码是错误的!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2020-2-21 12:33:42 | 显示全部楼层
本帖最后由 qiuyouzhi 于 2020-2-21 12:35 编辑

发错了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-2 13:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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