学生成绩管理系统 编写一个菜单驱动的学生成绩管理系统,要求实现以下管理功能: (1)录入每个学生的学号和考试成绩; (2)输出所有记录; (3)将学生信息按学号排序; (4)插入一条新的记录; (5)删除一条记录; (6)根据学生姓名查询成绩; (7)对学生成绩进行统计,展示最高分、最低分和平均分。
时间: 2024-01-16 19:02:30 浏览: 131
好的,我可以帮你实现这个学生成绩管理系统。以下是菜单驱动的实现代码:
```python
# 定义学生类
class Student:
def __init__(self, id, name, score):
self.id = id
self.name = name
self.score = score
# 定义学生列表
students = []
# 菜单函数
def menu():
print("===============")
print("学生成绩管理系统")
print("1. 录入学生成绩")
print("2. 输出所有记录")
print("3. 按学号排序")
print("4. 插入新记录")
print("5. 删除记录")
print("6. 根据姓名查询成绩")
print("7. 成绩统计")
print("0. 退出系统")
print("===============")
# 录入学生成绩函数
def add_student():
id = input("请输入学生学号:")
name = input("请输入学生姓名:")
score = input("请输入学生成绩:")
student = Student(id, name, score)
students.append(student)
print("添加成功!")
# 输出所有记录函数
def show_all():
print("学号\t姓名\t成绩")
for student in students:
print("%s\t%s\t%s" % (student.id, student.name, student.score))
# 按学号排序函数
def sort_by_id():
students.sort(key=lambda x: x.id)
print("排序成功!")
# 插入新记录函数
def insert_student():
id = input("请输入学生学号:")
name = input("请输入学生姓名:")
score = input("请输入学生成绩:")
student = Student(id, name, score)
index = int(input("请输入插入的位置:"))
students.insert(index, student)
print("插入成功!")
# 删除记录函数
def delete_student():
id = input("请输入要删除的学生学号:")
for student in students:
if student.id == id:
students.remove(student)
print("删除成功!")
return
print("未找到该学生!")
# 根据姓名查询成绩函数
def search_by_name():
name = input("请输入要查询的学生姓名:")
for student in students:
if student.name == name:
print("学号:%s,姓名:%s,成绩:%s" % (student.id, student.name, student.score))
return
print("未找到该学生!")
# 成绩统计函数
def statistic():
scores = []
for student in students:
scores.append(student.score)
max_score = max(scores)
min_score = min(scores)
avg_score = sum(scores) / len(scores)
print("最高分:%s,最低分:%s,平均分:%s" % (max_score, min_score, avg_score))
# 主函数
def main():
while True:
menu()
choice = input("请选择操作:")
if choice == "1":
add_student()
elif choice == "2":
show_all()
elif choice == "3":
sort_by_id()
elif choice == "4":
insert_student()
elif choice == "5":
delete_student()
elif choice == "6":
search_by_name()
elif choice == "7":
statistic()
elif choice == "0":
print("谢谢使用,再见!")
break
else:
print("输入有误,请重新输入!")
# 运行主函数
main()
```
你可以将以上代码保存为一个.py文件,并在命令行中运行它,即可启动学生成绩管理系统。
阅读全文