马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
希望有人帮帮我,谢谢
程序实现效果需要得到如图所示
当我不封装成函数时
写的代码account = {}
while 1:
print("\n|--- 新建用户:N/n ---|")
print("|--- 登录账号:E/e ---|")
print("|--- 退出程序:Q/q ---|")
temp = input("|--- 请输入指令代码:")
if temp == 'N'or 'n':
name = input("请输入用户名:")
if name in account:
name = input("此用户已经被使用,请重新输入:")
secret = input("请输入密码:")
account[name] = secret
print("注册成功,赶紧试试登录吧")
if temp == 'E'or 'e':
name = input("请输入用户名:")
if name in account:
secret = input("请输入密码:")
while 1:
if secret == account[name]:
print("欢迎进入系统,请点击右上角x结束程序")
break
else:
secret = input("密码错误,请重新输入:")
if temp == 'Q'or 'q':
break
print("感谢使用系统,祝您生活愉快")
但他的实现效果完全不是那样,你可以run一下上面代码就知道了,我不知道哪里错了,救命!!
[b]
if temp == 'N'or 'n':
if temp == 'E'or 'e':
if temp == 'Q'or 'q':
if 条件判断不能这样写,因为 Python 会认为你是在判断 (temp == "..") or ( ".." )
而字符串只要不为 "" 空字符,即可以看成布尔类型的 True ,导致 if 条件会始终成立,将 if 改成这样即可:
if temp == 'N'or temp == 'n':
if temp == 'E'or temp == 'e':
if temp == 'Q'or temp == 'q':
参考代码:
account = {}
while 1:
print("\n|--- 新建用户:N/n ---|")
print("|--- 登录账号:E/e ---|")
print("|--- 退出程序:Q/q ---|")
temp = input("|--- 请输入指令代码:")
if temp == 'N' or temp == 'n':
name = input("请输入用户名:")
if name in account:
name = input("此用户已经被使用,请重新输入:")
secret = input("请输入密码:")
account[name] = secret
print("注册成功,赶紧试试登录吧")
if temp == 'E' or temp == 'e':
name = input("请输入用户名:")
if name in account:
secret = input("请输入密码:")
while 1:
if secret == account[name]:
print("欢迎进入系统,请点击右上角x结束程序")
break
else:
secret = input("密码错误,请重新输入:")
if temp == 'Q' or temp == 'q':
break
print("感谢使用系统,祝您生活愉快")
[/b]
|