【课后作业】第9讲代码问题
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
页:
[1]