使用python完成以下题目的代码编辑登录系统通常分为普通用户与管理员权限,在用户登录系统时,可以根据自身权限进行选择登录。 要求:1)设计不同用户进入不同界面(只要界面) 2)用户/管理员账号、密码保存在一个文件中,进行写入和读取
时间: 2024-05-10 07:19:04 浏览: 12
以下是一个简单的Python登录系统,实现了不同用户进入不同界面(只有界面),用户/管理员账号、密码保存在一个文件中进行写入和读取:
```python
import getpass
# 定义用户列表和管理员列表
user_list = []
admin_list = []
# 读取用户账号密码文件
with open("users.txt", "r") as f:
for line in f.readlines():
username, password, is_admin = line.strip().split(",")
if is_admin == "True":
admin_list.append((username, password))
else:
user_list.append((username, password))
# 用户登录函数
def user_login():
username = input("请输入用户名:")
password = getpass.getpass("请输入密码:")
for user in user_list:
if username == user[0] and password == user[1]:
print("欢迎进入普通用户界面!")
return
print("用户名或密码错误!")
# 管理员登录函数
def admin_login():
username = input("请输入管理员用户名:")
password = getpass.getpass("请输入管理员密码:")
for admin in admin_list:
if username == admin[0] and password == admin[1]:
print("欢迎进入管理员界面!")
return
print("管理员用户名或密码错误!")
# 主程序
while True:
print("请选择登录类型:")
print("1. 普通用户")
print("2. 管理员")
print("3. 退出系统")
choice = input("请输入选项:")
if choice == "1":
user_login()
elif choice == "2":
admin_login()
elif choice == "3":
break
else:
print("输入错误!")
```
假设用户账号密码文件名为`users.txt`,文件内容如下:
```
user1,123456,False
user2,abcdef,False
admin1,QwErTy123,True
admin2,AsDfGh456,True
```
其中每行格式为`username,password,is_admin`,`is_admin`为字符串类型的布尔值,表示是否为管理员。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)