使用python写一个关于管理员和学生的登录注册
时间: 2024-03-02 13:53:35 浏览: 63
好的,这里是一个简单的示例代码,包括管理员和学生的登录注册功能:
```python
class User:
def __init__(self, username, password):
self.username = username
self.password = password
class Admin(User):
# 管理员类,继承自User
def __init__(self, username, password, is_admin=True):
super().__init__(username, password)
self.is_admin = is_admin
class Student(User):
# 学生类,继承自User
def __init__(self, username, password, student_id):
super().__init__(username, password)
self.student_id = student_id
class LoginSystem:
# 登录系统类
def __init__(self):
self.users = [] # 存储所有用户
def register(self, username, password, is_admin=False, student_id=None):
# 注册方法,根据is_admin参数判断是管理员还是学生
if is_admin:
user = Admin(username, password)
else:
user = Student(username, password, student_id)
self.users.append(user)
print("注册成功!")
def login(self, username, password):
# 登录方法,遍历所有用户,判断用户名和密码是否匹配
for user in self.users:
if user.username == username and user.password == password:
if isinstance(user, Admin):
print("管理员登录成功!")
return "admin"
else:
print("学生登录成功!")
return "student"
print("用户名或密码错误!")
return None
# 示例代码
login_system = LoginSystem()
login_system.register("admin", "admin123", is_admin=True)
login_system.register("student1", "123456", student_id="20210001")
login_system.register("student2", "654321", student_id="20210002")
user_type = ""
while user_type != "admin" and user_type != "student":
print("请选择用户类型:1.管理员 2.学生")
choice = input()
if choice == "1":
user_type = login_system.login("admin", "admin123")
elif choice == "2":
username = input("请输入用户名:")
password = input("请输入密码:")
user_type = login_system.login(username, password)
if user_type == "admin":
print("管理员操作界面")
else:
print("学生操作界面")
```
在这个示例代码中,我们定义了三个类,分别是User、Admin和Student。User类是一个基类,包含了用户名和密码两个属性;Admin类继承自User类,除了包含了用户名和密码,还有一个is_admin属性表示是否是管理员;Student类继承自User类,除了包含了用户名和密码,还有一个student_id属性表示学生的学号。
我们还定义了一个LoginSystem类,它包含了注册和登录两个方法。在注册方法中,根据is_admin参数判断是管理员还是学生,创建相应类型的用户,并将其添加到users列表中;在登录方法中,遍历所有用户,判断用户名和密码是否匹配,如果匹配则返回用户类型。我们还提供了一个示例代码,演示了如何使用这些类和方法实现登录注册功能。
需要注意的是,这个示例代码只是一个简单的示例,没有考虑到安全性等问题。在实际应用中,需要对密码进行加密存储,防止密码泄露;还需要进行输入验证,防止注入攻击等安全问题。
阅读全文