用python写出一个学生成绩管理系统,包括录入学生的信息,修改学生信息,删除学生信息,成绩排序,查找学生的信息 的完整代码
时间: 2023-06-11 07:07:42 浏览: 286
下面是一个简单的学生成绩管理系统的Python代码:
```python
class Student:
def __init__(self, name, score):
self.name = name
self.score = score
def __str__(self):
return f"{self.name}: {self.score}"
class Gradebook:
def __init__(self):
self.students = []
def add_student(self, name, score):
student = Student(name, score)
self.students.append(student)
def remove_student(self, name):
for student in self.students:
if student.name == name:
self.students.remove(student)
return True
return False
def update_student(self, name, score):
for student in self.students:
if student.name == name:
student.score = score
return True
return False
def sort_students_by_score(self, reverse=False):
self.students.sort(key=lambda x: x.score, reverse=reverse)
def search_student(self, name):
for student in self.students:
if student.name == name:
return student
return None
if __name__ == "__main__":
gradebook = Gradebook()
while True:
print("1. 添加学生信息")
print("2. 修改学生信息")
print("3. 删除学生信息")
print("4. 成绩排序")
print("5. 查找学生信息")
print("6. 退出")
choice = input("请选择操作:")
if choice == "1":
name = input("请输入学生姓名:")
score = int(input("请输入学生成绩:"))
gradebook.add_student(name, score)
print(f"{name}的成绩已经添加到系统中。")
elif choice == "2":
name = input("请输入要修改成绩的学生姓名:")
score = int(input("请输入新的成绩:"))
if gradebook.update_student(name, score):
print(f"{name}的成绩已经更新。")
else:
print(f"没有找到名为{name}的学生。")
elif choice == "3":
name = input("请输入要删除的学生姓名:")
if gradebook.remove_student(name):
print(f"{name}的信息已经从系统中删除。")
else:
print(f"没有找到名为{name}的学生。")
elif choice == "4":
reverse = input("是否降序排列(y/n):")
if reverse.lower() == "y":
gradebook.sort_students_by_score(True)
else:
gradebook.sort_students_by_score()
for student in gradebook.students:
print(student)
elif choice == "5":
name = input("请输入要查找的学生姓名:")
student = gradebook.search_student(name)
if student:
print(student)
else:
print(f"没有找到名为{name}的学生。")
elif choice == "6":
break
else:
print("请输入正确的选项。")
```
这个程序使用了两个类:`Student`和`Gradebook`。`Student`类用来存储每个学生的姓名和成绩,`Gradebook`类用来管理所有的学生。
在`Gradebook`类中,有以下几个方法:
- `add_student`:添加学生信息
- `remove_student`:删除学生信息
- `update_student`:修改学生信息
- `sort_students_by_score`:成绩排序
- `search_student`:查找学生信息
程序的主要逻辑是在一个死循环中,根据用户的选择调用不同的方法来完成相应的操作。