|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
运行结果:
====
请输入密码:**
密码中不能含有"*"号!您还有 3 次机会! 请输入密码:FishC.com
密码输入错误!您还有 2 次机会! 请输入密码:FishC.com
密码正确,进入程序……
>>>
代码:
code=input('请输入密码:')
bingo='FishC.com'
i=1
count=3
while i<=3:
if code!=bingo:
while '*' in code:
print('密码中不能含有"*"号!您还有',count,'次机会!',end=' ')
code=input('请输入密码:')
count-=1
print('密码输入错误!您还有',count,'次机会!',end=' ')
if count==0:
break
code=input('请输入密码:')
i+=1
elif code==bingo:
print('密码正确,进入程序……')
break
本帖最后由 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
复制代码
|
|