恳请高手帮忙看下为什么下面这个coding达不到要求
代码目的: 密码最多输入三次, 其中*不计次数求助: 第一次,第二次输入错误, 第三次输入正确的密码为何同样打印出密码错误, 却没有执行第一个循环呢?
count = 3
password = 'bbb'
temp = input('请输入密码:')
while count:
if temp == password:
print('密码正确,loading...')
break
elif '*' in temp:
temp = input("密码错误,不能带有‘*’,你还有 %d 次机会,请重新输入:"%count)
else:
count -= 1
temp = input("密码错误,你还有 %d 次机会,请重新输入:"%count)
if count == 1:
print("密码错误,游戏结束")
break 最后的if条件改为 count==0 BngThea 发表于 2018-6-25 14:04
最后的if条件改为 count==0
这个试过了,如果改为0就会允许第四次输入密码。 arbsteven 发表于 2018-6-25 14:09
这个试过了,如果改为0就会允许第四次输入密码。
把while循环的条件改为 count-1 BngThea 发表于 2018-6-25 14:32
把while循环的条件改为 count-1
老铁,改了之后,前面2次输入错误的PW, 最后一次输入正确的PW,打印出的结果还是不对(应该打印出密码正确,loading...)
请输入密码:q
密码错误,你还有 2 次机会,请重新输入:w
密码错误,你还有 1 次机会,请重新输入:bbb
密码错误,游戏结束 arbsteven 发表于 2018-6-25 16:40
老铁,改了之后,前面2次输入错误的PW, 最后一次输入正确的PW,打印出的结果还是不对(应该打印出密码正 ...
逻辑有点问题,应该先判断count是否为零再接收输入
count = 3
password = 'bbb'
temp = input('请输入密码:')
while count:
if temp == password:
print('密码正确,loading...')
break
elif '*' in temp:
temp = input("密码错误,不能带有‘*’,你还有 %d 次机会,请重新输入:"%count)
else:
count -= 1
if count == 0:
print("密码错误,游戏结束")
break
temp = input("密码错误,你还有 %d 次机会,请重新输入:"%count) BngThea 发表于 2018-6-25 17:03
逻辑有点问题,应该先判断count是否为零再接收输入
一语中的!特别感谢,高手{:10_275:}
页:
[1]