为什么我输入3或者4无法显示登陆成功呢?求大佬帮忙看看是哪儿出问题了
#用python设计的第一个开机程序print("----新建用户:1/2----")
print("----用户登陆:3/4----")
print("----退出程序:5/6----")
dictionary = {}
temp = int(input("请输入指令数字:"))
while True:
if temp == 1 or temp == 2:
Newname = input("请输入创建的用户名:")
Creatpassward = input("请输入密码:")
dictionary = Creatpassward
print("创建成功")
temp = int(input("请输入指令数字:"))
elif temp == 3 or temp == 4:
name = input("请输入用户名:")
passward = input("请输入密码:")
if name in dictionary and dictionary == passward:
print("登陆成功,欢迎进入xxoo系统")
break
else:
print("密码或用户名错误")
print("是否重新输入?【按yes重新输入或NO返回】")
decision = input(":")
if decision != "NO":
print("请重新输入:")
else:
print("返回")
elif temp == 5 or temp == 6:
print("退出程序,谢谢使用")
break
else:
print("格式错误")
temp = int(input("请输入指令数字:"))
我运行的,没有问题{:10_245:}=================== RESTART: C:\Users\86177\Desktop\临时小程序.py ===================
----新建用户:1/2----
----用户登陆:3/4----
----退出程序:5/6----
请输入指令数字:1
请输入创建的用户名:sss
请输入密码:123
创建成功
请输入指令数字:4
请输入用户名:sss
请输入密码:123
登陆成功,欢迎进入xxoo系统 我试了一下,可以用,但是有点问题
就是密码输错之后再次输入有点不太合理,可以尝试优化一下
print("----新建用户:1/2----")
print("----用户登陆:3/4----")
print("----退出程序:5/6----")
dictionary = {}
sign = True
temp = int(input("请输入指令数字:"))
while True:
if temp == 1 or temp == 2:
Newname = input("请输入创建的用户名:")
Creatpassward = input("请输入密码:")
dictionary = Creatpassward
print("创建成功")
temp = int(input("请输入指令数字:"))
while True:
if temp == 3 or temp == 4:
name = input("请输入用户名:")
passward = input("请输入密码:")
else :
break
if name in dictionary and dictionary == passward:
print("登陆成功,欢迎进入xxoo系统")
sign = False
break
else:
print("密码或用户名错误")
print("是否重新输入?【按yes重新输入或NO返回】")
decision = input(":")
if decision != "NO":
print("请重新输入!")
else:
print("返回")
break
if sign != True:
break
if temp == 5 or temp == 6:
print("退出程序,谢谢使用")
break
else:
print("格式错误")
temp = int(input("请输入指令数字:"))
这个是我修改了一下的,之前返回并不能退回到等待输入指令的哪里
还有这里的yes/NO
其实也可以优化一下
其它暂时好像都没问题了 yuedong 发表于 2021-3-11 22:01
第一个break是直接到哪一部分才终止循环啊,而且不管用户名或密码都是正确错误都会继续循环继续让我输入用户名密码https://imgtu.com/i/6NN5ef https://imgtu.com/i/6NN5ef 你发的图片一直转圈圈,加载不出来
break,只是会跳出当前的那一个while循环 稍等,我当时测的时候好像没问题,现在的确有的,我再改改
print("----新建用户:1/2----")
print("----用户登陆:3/4----")
print("----退出程序:5/6----")
dictionary = {}
sign = True
temp = int(input("请输入指令数字:"))
while True:
if temp == 1 or temp == 2:
Newname = input("请输入创建的用户名:")
Creatpassward = input("请输入密码:")
dictionary = Creatpassward
print("创建成功")
temp = int(input("请输入指令数字:"))
while sign:
if temp == 3 or temp == 4:
name = input("请输入用户名:")
passward = input("请输入密码:")
else:
break
if name in dictionary and dictionary == passward:
print("登陆成功,欢迎进入xxoo系统")
sign = False
break
else:
print("密码或用户名错误")
print("是否重新输入?【按yes重新输入或NO返回】")
decision = input(":")
if decision != "NO":
print("请重新输入!")
else:
print("返回")
break
if sign != True:
break
if temp == 5 or temp == 6:
print("退出程序,谢谢使用")
break
else:
print("格式错误")
temp = int(input("请输入指令数字:"))
页:
[1]