基于Python语言设计了一个学生信息管理系统,实现了学生信息的添加、查询、修改和删除等功能,以及成绩信息的录入、查询、统计和排序等功能给出完整代码
时间: 2023-11-22 15:54:32 浏览: 62
基于Python的学生信息管理系统-实训报告
5星 · 资源好评率100%
很好,我可以帮你实现这个学生信息管理系统。请先确认你的电脑上已经安装了Python环境,如果没有,请先安装Python环境。
以下是实现代码:
```python
# 学生信息管理系统
# 定义一个学生类
class Student:
def __init__(self, id, name, age, gender, score):
self.id = id
self.name = name
self.age = age
self.gender = gender
self.score = score
# 定义一个学生信息管理类
class StudentManager:
def __init__(self):
self.students = []
# 添加学生信息
def add_student(self, student):
self.students.append(student)
# 根据id查询学生信息
def search_student_by_id(self, id):
for student in self.students:
if student.id == id:
return student
return None
# 根据姓名查询学生信息
def search_student_by_name(self, name):
result = []
for student in self.students:
if student.name == name:
result.append(student)
return result
# 修改学生信息
def modify_student(self, id, name, age, gender, score):
for student in self.students:
if student.id == id:
student.name = name
student.age = age
student.gender = gender
student.score = score
return True
return False
# 删除学生信息
def delete_student(self, id):
for student in self.students:
if student.id == id:
self.students.remove(student)
return True
return False
# 录入学生成绩
def add_score(self, id, score):
for student in self.students:
if student.id == id:
student.score = score
return True
return False
# 根据成绩查询学生信息
def search_student_by_score(self, score):
result = []
for student in self.students:
if student.score == score:
result.append(student)
return result
# 统计学生总分数和平均分
def get_total_and_average_score(self):
total_score = 0
for student in self.students:
total_score += student.score
average_score = total_score / len(self.students)
return total_score, average_score
# 按成绩排序
def sort_by_score(self):
self.students.sort(key=lambda x: x.score, reverse=True)
# 测试代码
if __name__ == '__main__':
# 创建一个学生信息管理对象
manager = StudentManager()
# 添加学生信息
s1 = Student(1, '张三', 18, '男', 80)
s2 = Student(2, '李四', 19, '女', 90)
s3 = Student(3, '王五', 20, '男', 85)
manager.add_student(s1)
manager.add_student(s2)
manager.add_student(s3)
# 查询学生信息
print(manager.search_student_by_id(1).__dict__)
print([s.__dict__ for s in manager.search_student_by_name('李四')])
# 修改学生信息
manager.modify_student(1, '张三丰', 20, '男', 95)
print(manager.search_student_by_id(1).__dict__)
# 删除学生信息
manager.delete_student(3)
print([s.__dict__ for s in manager.students])
# 录入学生成绩
manager.add_score(1, 100)
print(manager.search_student_by_score(100)[0].__dict__)
# 统计学生总分数和平均分
print(manager.get_total_and_average_score())
# 按成绩排序
manager.sort_by_score()
print([s.__dict__ for s in manager.students])
```
这里我们定义了一个`Student`类来表示学生信息,包括学生的id、姓名、年龄、性别和成绩。然后定义了一个`StudentManager`类来管理学生信息,包括添加、查询、修改和删除学生信息,以及录入成绩、查询成绩、统计总分数和平均分数,还有按成绩排序等功能。
在测试代码中,我们创建了一个`StudentManager`对象,并添加了三个学生信息。然后测试了查询、修改、删除学生信息,录入成绩,统计总分数和平均分数,以及按成绩排序等功能。
阅读全文