|
发表于 2020-5-7 22:38:05
|
显示全部楼层
本楼为最佳答案
本帖最后由 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
复制代码 |
|