函数练习:完成用户进行登录、注册、退出登录、注销,·定义一个list列表,列表当中的每个元素为一个dict字典,字典中记录用户信息:[("userName":"admin"," password":"123456"},{"userName":"root"," password":"654321"}]·定义四个方法:登录、注册、退登、注销,登录:让用户输入userName和password,与列表中的用户信息进行比较,信息匹配则登录成功,否则登录失败。注册:让用户输入userName和password,若userName在列表中已存在,则注册失败,否则注册成功,退登:退出登录,注销:让用户输入当前登录的密码,密码无误,则将该用户信息从列表中删除
时间: 2023-07-21 20:08:33 浏览: 66
好的,根据您的要求,我为您编写了以下代码,实现了用户登录、注册、退出登录、注销的功能:
```python
user_list = [
{"userName":"admin", "password":"123456"},
{"userName":"root", "password":"654321"}
]
# 登录方法
def login(user_list):
userName = input("请输入您的用户名:")
password = input("请输入您的密码:")
for user in user_list:
if user["userName"] == userName and user["password"] == password:
print("登录成功!")
return user
print("用户名或密码错误!")
return None
# 注册方法
def register(user_list):
userName = input("请输入您的用户名:")
password = input("请输入您的密码:")
for user in user_list:
if user["userName"] == userName:
print("该用户名已被注册!")
return None
user = {"userName":userName, "password":password}
user_list.append(user)
print("注册成功!")
return user
# 退出登录方法
def logout(user):
if user is not None:
print("退出登录!")
else:
print("当前未登录!")
# 注销方法
def delete(user_list, user):
if user is None:
print("当前未登录!")
return False
password = input("请输入当前登录的密码:")
if password == user["password"]:
user_list.remove(user)
print("注销成功!")
return True
else:
print("密码错误,注销失败!")
return False
# 测试代码
user = None
while True:
cmd = input("请输入命令(login/register/logout/delete/exit):")
if cmd == "login":
if user is not None:
print("当前已登录!")
else:
user = login(user_list)
elif cmd == "register":
register(user_list)
elif cmd == "logout":
logout(user)
user = None
elif cmd == "delete":
if delete(user_list, user):
user = None
elif cmd == "exit":
break
else:
print("无效的命令!")
```
在这个代码中,我们首先定义了一个列表`user_list`,其中存储了用户信息,每个元素为一个字典,包含了用户名和密码。然后我们定义了四个函数,分别对应了用户的登录、注册、退出登录、注销操作。这些函数都接受`user_list`参数,用于操作用户信息。
在主函数中,我们使用一个`while`循环,不断接受用户输入的命令,并根据命令调用相应的函数。需要注意的是,用户的登录状态保存在变量`user`中,如果`user`为`None`,表示当前未登录,否则表示当前已登录。