本帖最后由 txxcat 于 2020-5-7 22:56 编辑
你输入*后有一次input,然后继续执行下面的打印和重新输入的代码,然后才继续下一次循环进行密码验证,也就是说输入*后的第二次input完全无效,会直接打印密码错误然后又第三次input。
代码改动最少:code=input('请输入密码:')
bingo='FishC.com'
i=1
count=3
while i<=3:
if code!=bingo:
if '*' in code: #<--改成if
print('密码中不能含有"*"号!您还有',count,'次机会!',end=' ')
code=input('请输入密码:')
continue #<--加入回到循环头
count-=1
print('密码输入错误!您还有',count,'次机会!',end=' ')
if count==0:
break
code=input('请输入密码:')
i+=1
elif code==bingo:
print('密码正确,进入程序……')
break
优化代码:bingo='FishC.com'
count=3
while count:
code=input('请输入密码:')
if '*' in code: #<--改成if
print('密码中不能含有"*"号!您还有',count,'次机会!',end=' ')
continue
if code!=bingo:
count-=1
print('密码输入错误!您还有',count,'次机会!',end=' ')
else:
print('密码正确,进入程序……')
break
|