零基础学PYTHON 09讲课后题求助
题目是这样的:0. 设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中包含"*"则不计算在内。我的解题思路如下:
temp=input("请输入密码: ")
times=3
while 1<times<=3:
if temp==str("小甲鱼是帅哥"):
print("密码正确,进入程序.......",end=" ")
break
elif "*"in temp:
input("密码中不能含“*”您还有"+str(times)+"次机会,请输入密码: ")
else:
input("密码输入错!您还有"+str(times-1)+"次机会!请输入密码: ")
times=times-1
print("密码错误次数过多,程序退出")
问题1:答案正确的时候 会多打印"密码错误次数过多,程序退出"
问题2:输入*号后,可输入答案的次数少一次
总之各种问题,有没有大神帮我把这个改对啊,谢谢 temp=input("请输入密码: ")
times = 3
while times:
if temp=="小甲鱼是帅哥":
print("密码正确,进入程序.......",end=" ")
break
elif times == 1:
print('密码错误次数过多,程序退出')
elif "*"in temp:
temp = input("密码中不能含“*”您还有"+str(times-1)+"次机会,请输入密码: ")
else:
temp = input("密码输入错!您还有"+str(times-1)+"次机会!请输入密码: ")
times-=1 c = 1
for i in range(4):
a = input()
if a == '1':
print('正确')
c = 0
break
else:
if 3 - i ==0:
print('次数完')
elif '*' in a:
print('不允许输入符号,错误剩余次数{}'.format(3 -i))
else:
print('错误剩余次数{}'.format(3 -i))
if c == 0:
print('进入程序')
谢谢
页:
[1]