可乐不冰怎么喝 发表于 2021-9-30 10:40:10

请问大佬们,我输入*那块为啥只能输入一次数据;还有输错密码那块为啥不能循环?

题目:设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中包含"*"则不计算在内。
程序演示如图:

这是我的代码:
temp = 'fishc.com'
password = input("请输入密码:")
time = 3
while time:
    if password == temp:
       print("输入正确")
       break
    elif '*' in password:
       print("密码中不能含有*,您还有三次机会,请重新输入:")
    else:
       print(f"密码输入错误,你还有{time-1}次机会,请重新输入:")
       time -= 1
       if time == 0:
          break

hrpzcf 发表于 2021-9-30 10:46:47

本帖最后由 hrpzcf 于 2021-9-30 10:48 编辑

password = input那一行移到while循环中第一句

最后的
if time == 0:
      break
减少一级缩进


PS:楼主用的Python版本真的太老了

逃兵 发表于 2021-9-30 10:51:15

temp = 'fishc.com'
password = input("请输入密码:")
time = 3
while time:
    if password == temp:
      print("输入正确")
      break
    elif '*' in password:
      password = input("密码中不能含有*,您还有三次机会,请重新输入:")
    else:
      time -= 1
      if time == 0:
            break
      password = input(f"密码输入错误,你还有{time}次机会,请重新输入:")

      

可乐不冰怎么喝 发表于 2021-9-30 10:53:49

hrpzcf 发表于 2021-9-30 10:46
password = input那一行移到while循环中第一句

最后的


感谢老哥,之前师兄下的,一直没换,嘿嘿嘿,现在就去下个新的{:5_109:}

可乐不冰怎么喝 发表于 2021-9-30 10:54:45

逃兵 发表于 2021-9-30 10:51


哈哈哈哈,感谢老哥,现在明白了
页: [1]
查看完整版本: 请问大佬们,我输入*那块为啥只能输入一次数据;还有输错密码那块为啥不能循环?