您的位置:首页 > 编程语言 > Python开发

Python小练习 - 用字典编写简单的注册、登录程序

2017-07-06 11:09 2391 查看

要实现以下效果

输入N/n,可新建用户;输入E/e,可登录;输入Q/q退出

|— 新建用户:N/n —|

|— 登录账号:E/e —|

|— 退出登录:Q/q —|

非函数方式实现

print("""
|--- 新建用户:N/n ---|
|--- 登录账号:E/e ---|
|--- 退出登录:Q/q ---|
""")

message = {}
flag = 1
while flag:
order = input("请输入指令代码:")
if order == 'N' or order == 'n':
name = input("请输入用户名:")
while 1:
# 如果有此人的信息
if name in message:
name = input("此用户已被使用,请重新输入:")

# 没有此人的信息
if name not in message:
pw = input("请输入密码:")
message[name] = [pw]
break

elif order == 'E' or order == 'e':
name = input("请输入用户名:")
while 1:
# 输入的用户不存在
if name not in message:
name = input("输入的用户名不存在,请重新输入:")

# 存在此用户
if name in message:
pw = input("请输入密码:")
while 1:
pw = [pw]
if message[name] == pw:
print('欢迎欢迎,热烈欢迎!')
break
else:
pw = input("密码错误重新输入:")
break

elif order == 'Q' or order == 'q':
print("程序退出了,再见~")
flag = 0

else:
print("指令错误,请重新输入吧!")
print()   # 主要目的是换行,让最后的显示好看一点


函数封装后实现

message = {}

def new():
temp = "请输入用户名:"
while 1:
name = input(temp)
# 如果有此人的信息
if name in message:
temp = "此用户已被使用,请重新输入:"
continue
# 没有此人的信息
if name not in message:
break

pw = input("请输入密码:")
message[name] = pw
print("注册成功,登陆试试吧")

def old():
temp = "请输入姓名:"
while 1:
name = input(temp)
if name not in message:
temp = "此用户不存在,请重新输入:"
continue

else:
break

pw = input("请输入密码:")
password = message.get(name)
if pw == password:
print("欢迎您`")
else:
print("密码错误!")

def menu():
print("""
|--- 新建用户:N/n ---|
|--- 登录账号:E/e ---|
|--- 退出登录:Q/q ---|
""")

while True:
chose = 0
while not chose:
print('\n')
order = input("请输入指令:")
if order not in 'QqNnEe':
print("指令输入有误!请重新输入")
else:
chose = 1

if order == 'N' or order == 'n':
new()
if order == 'E' or order == 'e':
old()
if order == 'Q' or order == 'q':
break

menu()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python