|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- string = str(input('请输入密码:'))
- code = str('哲子')
- time = 3
- while time > 0:
- j = string.find('*')
- if j != -1 :
- print('密码中不能含有“*”号!您还有' + str(time) +'次机会!',end = '')
- string = str(input('请输入密码:'))
- else :
- if string != code :
- time -= 1
- print('密码输入错误!您还有' + str(time) +'次机会!',end = '')
- string = str(input('请输入密码:'))
- else :
-
- print('密码正确,正在进入程序......')
- break
复制代码
以上是自己写的代码。有如下问题:
1.在还有1次输入密码的机会时输入正确的密码:哲子,程序不会“显示密码正确,正在进入程序......”
2.当次数用尽的时候,我想在程序最后显示“密码错误,不能进入程序,但是怎么也不对”
麻烦请大家告诉我代码哪里有问题,谢谢!谢谢!!!
代码的问题在于当time为0时,还会再次进入循环,这有点不符合常理。
程序改进:
- string = str(input('请输入密码:'))
- code = str('哲子')
- time = 3 # 用户只有3次机会
- while True: # 永久循环,循环体内设有退出条件
- j = string.find('*')
- if j != -1:
- print('密码中不能含有“*”号!您还有' + str(time) + '次机会!',end = '')
- string = str(input('请输入密码:'))
- else:
- if string != code:
- time -= 1
- if time: # 用户还有机会
- print('密码输入错误!您还有' + str(time) + '次机会!',end = '')
- else: # 用户机会用尽
- print('密码错误,不能进入程序。')
- break # 退出循环
- string = str(input('请输入密码:'))
- else:
- print('密码正确,正在进入程序......')
- break
复制代码
|
|