用python 编写一个“学生信息管理系统”系统主菜单如下:1.显示所有学生信息 2.新建学生信息 3.查询学生信息 4.修改学生信息 5.删除学生信息 6.保存学生信息 7.恢复学生信息 0.退出系统
时间: 2024-03-25 14:36:15 浏览: 58
好的,下面是一个使用Python编写的学生信息管理系统,包含了你提供的功能:
```python
import pickle
class Student:
def __init__(self, name, id, gender, age):
self.name = name
self.id = id
self.gender = gender
self.age = age
class StudentManagementSystem:
def __init__(self):
self.students = []
self.file = 'students.dat'
self.load_students()
def load_students(self):
try:
with open(self.file, 'rb') as f:
self.students = pickle.load(f)
except FileNotFoundError:
pass
def save_students(self):
with open(self.file, 'wb') as f:
pickle.dump(self.students, f)
def add_student(self):
name = input('请输入学生姓名:')
id = input('请输入学生学号:')
gender = input('请输入学生性别:')
age = input('请输入学生年龄:')
student = Student(name, id, gender, age)
self.students.append(student)
print('学生信息添加成功!')
def search_student(self):
id = input('请输入要查询的学生学号:')
for student in self.students:
if student.id == id:
print(f'姓名:{student.name},学号:{student.id},性别:{student.gender},年龄:{student.age}')
return
print('未找到该学生信息!')
def modify_student(self):
id = input('请输入要修改的学生学号:')
for student in self.students:
if student.id == id:
student.name = input('请输入学生姓名:')
student.gender = input('请输入学生性别:')
student.age = input('请输入学生年龄:')
print('学生信息修改成功!')
return
print('未找到该学生信息!')
def delete_student(self):
id = input('请输入要删除的学生学号:')
for student in self.students:
if student.id == id:
self.students.remove(student)
print('学生信息删除成功!')
return
print('未找到该学生信息!')
def display_all_students(self):
for student in self.students:
print(f'姓名:{student.name},学号:{student.id},性别:{student.gender},年龄:{student.age}')
def run(self):
while True:
print('学生信息管理系统')
print('1.显示所有学生信息')
print('2.新建学生信息')
print('3.查询学生信息')
print('4.修改学生信息')
print('5.删除学生信息')
print('6.保存学生信息')
print('7.恢复学生信息')
print('0.退出系统')
choice = input('请输入您的选择:')
if choice == '1':
self.display_all_students()
elif choice == '2':
self.add_student()
elif choice == '3':
self.search_student()
elif choice == '4':
self.modify_student()
elif choice == '5':
self.delete_student()
elif choice == '6':
self.save_students()
elif choice == '7':
self.load_students()
elif choice == '0':
break
else:
print('输入有误,请重新输入!')
if __name__ == '__main__':
sms = StudentManagementSystem()
sms.run()
```
在这个程序中,我们定义了一个`Student`类,表示一个学生对象,包含学生姓名、学号、性别和年龄等信息。我们还定义了一个`StudentManagementSystem`类,表示学生信息管理系统,包含了你提供的所有功能。这个类中有一个`students`列表,用于存储所有学生信息,还有一个`file`属性,表示学生信息存储的文件名。在程序启动时,我们会读取文件中的学生信息并存储在`students`列表中。
在`add_student`方法中,我们会提示用户输入学生信息并创建一个学生对象,然后将这个对象添加到`students`列表中。在`search_student`方法中,我们会根据用户输入的学号查找相应的学生信息并输出。在`modify_student`方法中,我们会根据用户输入的学号找到相应的学生信息对象并提示用户修改相关信息。在`delete_student`方法中,我们会根据用户输入的学号找到相应的学生信息对象并将其从`students`列表中删除。在`display_all_students`方法中,我们会输出所有学生信息。
在`run`方法中,我们会根据用户输入的选择执行相应的操作。如果用户选择“保存学生信息”,我们会将所有学生信息保存到文件中;如果用户选择“恢复学生信息”,我们会从文件中读取以前保存的学生信息;如果用户选择“退出系统”,我们会结束程序的运行。
阅读全文