用Python编写一个含有主菜单,新建学生信息,查询学生信息,修改学生信息,删除学生信息,保存学生信息,恢复学生信息等功能的代码
时间: 2024-03-27 19:37:01 浏览: 54
用Python写一个学生信息管理系统
5星 · 资源好评率100%
好的,以下是一个简单的示例代码,实现了你所要求的功能:
```python
import pickle
class Student:
def __init__(self, name, age, gender, score):
self.name = name
self.age = age
self.gender = gender
self.score = score
class StudentManagementSystem:
def __init__(self):
self.students = []
self.file_name = "students.pkl"
self.load_students()
def display_menu(self):
print("========== 学生信息管理系统 ==========")
print("1. 新建学生信息")
print("2. 查询学生信息")
print("3. 修改学生信息")
print("4. 删除学生信息")
print("5. 保存学生信息")
print("6. 恢复学生信息")
print("0. 退出系统")
def add_student(self):
name = input("请输入学生姓名:")
age = input("请输入学生年龄:")
gender = input("请输入学生性别:")
score = input("请输入学生成绩:")
student = Student(name, age, gender, score)
self.students.append(student)
print("添加学生信息成功!")
def query_student(self):
name = input("请输入要查询的学生姓名:")
for student in self.students:
if student.name == name:
print("姓名:", student.name)
print("年龄:", student.age)
print("性别:", student.gender)
print("成绩:", student.score)
break
else:
print("未找到该学生信息!")
def modify_student(self):
name = input("请输入要修改的学生姓名:")
for student in self.students:
if student.name == name:
student.age = input("请输入学生年龄:")
student.gender = input("请输入学生性别:")
student.score = input("请输入学生成绩:")
print("修改学生信息成功!")
break
else:
print("未找到该学生信息!")
def delete_student(self):
name = input("请输入要删除的学生姓名:")
for student in self.students:
if student.name == name:
self.students.remove(student)
print("删除学生信息成功!")
break
else:
print("未找到该学生信息!")
def save_students(self):
with open(self.file_name, "wb") as f:
pickle.dump(self.students, f)
print("保存学生信息成功!")
def load_students(self):
try:
with open(self.file_name, "rb") as f:
self.students = pickle.load(f)
print("恢复学生信息成功!")
except FileNotFoundError:
print("未找到保存的学生信息!")
def run(self):
while True:
self.display_menu()
choice = input("请输入操作编号:")
if choice == "1":
self.add_student()
elif choice == "2":
self.query_student()
elif choice == "3":
self.modify_student()
elif choice == "4":
self.delete_student()
elif choice == "5":
self.save_students()
elif choice == "6":
self.load_students()
elif choice == "0":
break
else:
print("输入有误,请重新输入!")
if __name__ == "__main__":
system = StudentManagementSystem()
system.run()
```
这个程序使用了面向对象的编程思想,将学生信息封装在 `Student` 类中,将学生信息管理系统封装在 `StudentManagementSystem` 类中。程序中使用了 `pickle` 模块来实现学生信息的保存和恢复。
阅读全文