python学生管理系统
时间: 2023-06-13 16:03:10 浏览: 80
学生管理系统可以使用Python编写,主要包含以下功能:
1. 学生信息的录入、修改、删除、查询等操作;
2. 学生课程的选修、成绩的录入、修改、查询等操作;
3. 统计学生课程成绩、班级平均成绩、学生总成绩等数据;
4. 生成各种报表,如学生成绩报表、班级成绩分析报表等。
下面是一个简单的学生管理系统的代码示例:
```python
import os
import pickle
class Student:
def __init__(self, name, age, gender, id):
self.name = name
self.age = age
self.gender = gender
self.id = id
self.courses = {}
def add_course(self, course, score):
self.courses[course] = score
def __str__(self):
return f'{self.id}\t{self.name}\t{self.gender}\t{self.age}'
class StudentManager:
def __init__(self):
self.students = {}
def add_student(self, student):
self.students[student.id] = student
def remove_student(self, id):
del self.students[id]
def modify_student(self, id, name, age, gender):
student = self.students[id]
student.name = name
student.age = age
student.gender = gender
def add_score(self, id, course, score):
student = self.students[id]
student.add_course(course, score)
def get_student(self, id):
return self.students.get(id)
def get_all_students(self):
return self.students.values()
def save(self, filename):
with open(filename, 'wb') as f:
pickle.dump(self.students, f)
def load(self, filename):
if os.path.exists(filename):
with open(filename, 'rb') as f:
self.students = pickle.load(f)
if __name__ == '__main__':
manager = StudentManager()
manager.load('students.dat')
while True:
print('1. 添加学生')
print('2. 删除学生')
print('3. 修改学生')
print('4. 添加成绩')
print('5. 查询学生')
print('6. 查询所有学生')
print('7. 保存数据')
print('8. 退出系统')
choice = input('请选择操作:')
if choice == '1':
id = input('请输入学号:')
name = input('请输入姓名:')
age = input('请输入年龄:')
gender = input('请输入性别:')
student = Student(name, age, gender, id)
manager.add_student(student)
print('添加成功!')
elif choice == '2':
id = input('请输入学号:')
manager.remove_student(id)
print('删除成功!')
elif choice == '3':
id = input('请输入学号:')
name = input('请输入姓名:')
age = input('请输入年龄:')
gender = input('请输入性别:')
manager.modify_student(id, name, age, gender)
print('修改成功!')
elif choice == '4':
id = input('请输入学号:')
course = input('请输入课程名:')
score = input('请输入成绩:')
manager.add_score(id, course, score)
print('添加成功!')
elif choice == '5':
id = input('请输入学号:')
student = manager.get_student(id)
if student:
print(student)
for course, score in student.courses.items():
print(f'{course}\t{score}')
else:
print('查无此人!')
elif choice == '6':
students = manager.get_all_students()
for student in students:
print(student)
elif choice == '7':
manager.save('students.dat')
print('保存成功!')
elif choice == '8':
break
else:
print('无效操作!')
```