鱼C论坛

 找回密码
 立即注册
查看: 3525|回复: 2

[已解决]【课后作业】第9讲代码问题

[复制链接]
发表于 2016-9-22 10:28:13 | 显示全部楼层 |阅读模式

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

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

x
  1. string = str(input('请输入密码:'))
  2. code = str('哲子')
  3. time = 3
  4. while time > 0:
  5.     j = string.find('*')
  6.     if j != -1 :
  7.         print('密码中不能含有“*”号!您还有' + str(time) +'次机会!',end  = '')
  8.         string = str(input('请输入密码:'))
  9.     else :
  10.         if string != code :
  11.             time -= 1
  12.             print('密码输入错误!您还有' + str(time) +'次机会!',end = '')
  13.             string = str(input('请输入密码:'))
  14.         else :        
  15.             
  16.             print('密码正确,正在进入程序......')
  17.             break
复制代码

以上是自己写的代码。有如下问题:
1.在还有1次输入密码的机会时输入正确的密码:哲子,程序不会“显示密码正确,正在进入程序......”
2.当次数用尽的时候,我想在程序最后显示“密码错误,不能进入程序,但是怎么也不对”
麻烦请大家告诉我代码哪里有问题,谢谢!谢谢!!!
最佳答案
2020-12-14 12:05:33
代码的问题在于当time为0时,还会再次进入循环,这有点不符合常理。
程序改进:
  1. string = str(input('请输入密码:'))
  2. code = str('哲子')
  3. time = 3            # 用户只有3次机会
  4. while True:         # 永久循环,循环体内设有退出条件
  5.     j = string.find('*')
  6.     if j != -1:
  7.         print('密码中不能含有“*”号!您还有' + str(time) + '次机会!',end = '')
  8.         string = str(input('请输入密码:'))
  9.     else:
  10.         if string != code:
  11.             time -= 1
  12.             if time:    # 用户还有机会
  13.                 print('密码输入错误!您还有' + str(time) + '次机会!',end = '')
  14.             else:       # 用户机会用尽
  15.                 print('密码错误,不能进入程序。')
  16.                 break   # 退出循环
  17.             string = str(input('请输入密码:'))
  18.         else:
  19.             print('密码正确,正在进入程序......')
  20.             break
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-9-22 21:03:45 | 显示全部楼层
没人啊,顶个贴。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-14 12:05:33 | 显示全部楼层    本楼为最佳答案   
代码的问题在于当time为0时,还会再次进入循环,这有点不符合常理。
程序改进:
  1. string = str(input('请输入密码:'))
  2. code = str('哲子')
  3. time = 3            # 用户只有3次机会
  4. while True:         # 永久循环,循环体内设有退出条件
  5.     j = string.find('*')
  6.     if j != -1:
  7.         print('密码中不能含有“*”号!您还有' + str(time) + '次机会!',end = '')
  8.         string = str(input('请输入密码:'))
  9.     else:
  10.         if string != code:
  11.             time -= 1
  12.             if time:    # 用户还有机会
  13.                 print('密码输入错误!您还有' + str(time) + '次机会!',end = '')
  14.             else:       # 用户机会用尽
  15.                 print('密码错误,不能进入程序。')
  16.                 break   # 退出循环
  17.             string = str(input('请输入密码:'))
  18.         else:
  19.             print('密码正确,正在进入程序......')
  20.             break
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-30 09:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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