学生成绩管理系统 编写一个菜单驱动的学生成绩管理系统,要求实现以下管理功能: (1)录入每个学生的学号和考试成绩; (2)输出所有记录; (3)将学生信息按学号排序; (4)插入一条新的记录; (5)删除一条记录; (6)根据学生姓名查询成绩; (7)对学生成绩进行统计,展示最高分、最低分和平均分。
时间: 2024-01-16 11:02:22 浏览: 16
好的,这是一个比较常见的学生成绩管理系统,以下是一个简单的实现思路:
1. 定义一个学生类,包含学号、姓名和成绩三个属性;
2. 定义一个列表,用于存储所有学生信息;
3. 实现菜单功能,包括录入学生信息、输出所有记录、按学号排序、插入新记录、删除记录、根据姓名查询成绩和统计学生成绩;
4. 根据用户选择,调用相应的功能函数进行操作。
以下是一个简单的 Python 实现:
```python
class Student:
def __init__(self, id, name, score):
self.id = id
self.name = name
self.score = score
students = []
def add_student():
id = input("请输入学号:")
name = input("请输入姓名:")
score = float(input("请输入成绩:"))
student = Student(id, name, score)
students.append(student)
print("添加成功!")
def show_all():
if not students:
print("没有记录!")
return
for student in students:
print("学号:{},姓名:{},成绩:{}".format(student.id, student.name, student.score))
def sort_by_id():
students.sort(key=lambda x: x.id)
print("排序成功!")
def insert_record():
id = input("请输入学号:")
name = input("请输入姓名:")
score = float(input("请输入成绩:"))
student = Student(id, name, score)
for i, s in enumerate(students):
if s.id > id:
students.insert(i, student)
break
else:
students.append(student)
print("插入成功!")
def delete_record():
id = input("请输入要删除的学号:")
for student in students:
if student.id == id:
students.remove(student)
print("删除成功!")
break
else:
print("没有找到该学生!")
def search_by_name():
name = input("请输入要查询的姓名:")
for student in students:
if student.name == name:
print("学号:{},姓名:{},成绩:{}".format(student.id, student.name, student.score))
break
else:
print("没有找到该学生!")
def statistics():
if not students:
print("没有记录!")
return
scores = [student.score for student in students]
max_score = max(scores)
min_score = min(scores)
avg_score = sum(scores) / len(scores)
print("最高分:{},最低分:{},平均分:{}".format(max_score, min_score, avg_score))
def menu():
print("学生成绩管理系统")
print("1. 录入学生信息")
print("2. 输出所有记录")
print("3. 按学号排序")
print("4. 插入新记录")
print("5. 删除记录")
print("6. 根据姓名查询成绩")
print("7. 统计学生成绩")
print("0. 退出系统")
choice = input("请输入菜单编号:")
if choice == '1':
add_student()
elif choice == '2':
show_all()
elif choice == '3':
sort_by_id()
elif choice == '4':
insert_record()
elif choice == '5':
delete_record()
elif choice == '6':
search_by_name()
elif choice == '7':
statistics()
elif choice == '0':
return
else:
print("无效的菜单编号!")
menu()
if __name__ == '__main__':
menu()
```
这个实现比较简单,可能还有很多可以优化的地方,但是能够满足基本的需求。
阅读全文