16:27用python 使用列表,实现学生管理系统,包括管理员登录,学生列表,添加学生,修改学生信息,删除学生,查看单个学生,退出等功能
时间: 2024-09-14 15:05:45 浏览: 34
python+SQLsever+tkinter学生宿舍管理系统
5星 · 资源好评率100%
在Python中实现一个简单的学生管理系统可以通过定义一个学生类以及一个管理系统类来完成。下面是一个简单的实现:
首先定义一个学生类(Student),包含学生的基本信息:
```python
class Student:
def __init__(self, id, name, age, grade):
self.id = id
self.name = name
self.age = age
self.grade = grade
def __str__(self):
return f"ID: {self.id}, Name: {self.name}, Age: {self.age}, Grade: {self.grade}"
```
然后创建一个管理类(StudentManager),它将包含学生列表和相关的管理功能:
```python
class StudentManager:
def __init__(self):
self.students = []
self.adminenticated = False
def login(self, username, password):
if username == 'admin' and password == 'password':
self.adminenticated = True
print("管理员登录成功!")
else:
print("登录失败:用户名或密码错误。")
def add_student(self, student):
if not self.adminenticated:
print("请先登录管理员!")
return
self.students.append(student)
print(f"学生{student.name}已添加。")
def update_student(self, id, name=None, age=None, grade=None):
if not self.adminenticated:
print("请先登录管理员!")
return
for student in self.students:
if student.id == id:
if name:
student.name = name
if age:
student.age = age
if grade:
student.grade = grade
print(f"学生{student.name}的信息已更新。")
return
print("未找到该学生。")
def delete_student(self, id):
if not self.adminenticated:
print("请先登录管理员!")
return
for i, student in enumerate(self.students):
if student.id == id:
del self.students[i]
print(f"学生{student.name}已删除。")
return
print("未找到该学生。")
def show_student(self, id):
for student in self.students:
if student.id == id:
print(student)
return
print("未找到该学生。")
def show_students(self):
for student in self.students:
print(student)
def logout(self):
self.adminenticated = False
print("退出登录。")
```
现在我们可以使用这个`StudentManager`类来实现管理员登录以及学生信息的增删改查操作。以下是一个简单的使用示例:
```python
if __name__ == "__main__":
manager = StudentManager()
manager.login('admin', 'password') # 管理员登录
manager.add_student(Student(1, '张三', 20, '大一'))
manager.add_student(Student(2, '李四', 21, '大二'))
manager.show_students() # 显示所有学生信息
manager.update_student(1, name='王五') # 修改学生信息
manager.delete_student(2) # 删除学生信息
manager.show_student(1) # 查看单个学生信息
manager.logout() # 退出登录
```
阅读全文