用Python语言写一个学生成绩统计系统,要求:学生人数可以随意改变,可以查看或者修改某个学生的成绩,计算最高分和最低分以及平均分,对分数进行排序
时间: 2023-06-19 19:10:42 浏览: 143
好的,这里给出一个简单的学生成绩统计系统的代码,可以满足你的需求:
```python
# 定义一个空的学生信息列表
students = []
# 定义一个函数,用于添加新的学生信息
def add_student():
name = input("请输入学生姓名:")
math_score = float(input("请输入数学成绩:"))
english_score = float(input("请输入英语成绩:"))
student = {
"name": name,
"math_score": math_score,
"english_score": english_score
}
students.append(student)
print("添加成功!")
# 定义一个函数,用于查看学生信息
def view_students():
print("学生信息如下:")
for i, student in enumerate(students):
print(f"{i+1}. 姓名:{student['name']},数学成绩:{student['math_score']},英语成绩:{student['english_score']}")
# 定义一个函数,用于修改某个学生的成绩
def modify_score():
stu_num = int(input("请输入要修改的学生序号:"))
math_score = float(input("请输入新的数学成绩:"))
english_score = float(input("请输入新的英语成绩:"))
students[stu_num-1]["math_score"] = math_score
students[stu_num-1]["english_score"] = english_score
print("修改成功!")
# 定义一个函数,用于计算最高分和最低分以及平均分
def calculate_score():
math_scores = [student["math_score"] for student in students]
english_scores = [student["english_score"] for student in students]
max_math_score = max(math_scores)
min_math_score = min(math_scores)
avg_math_score = sum(math_scores) / len(math_scores)
max_english_score = max(english_scores)
min_english_score = min(english_scores)
avg_english_score = sum(english_scores) / len(english_scores)
print(f"数学最高分:{max_math_score},最低分:{min_math_score},平均分:{avg_math_score}")
print(f"英语最高分:{max_english_score},最低分:{min_english_score},平均分:{avg_english_score}")
# 定义一个函数,用于对分数进行排序
def sort_score():
sort_type = input("请选择排序方式(1.按数学成绩排序,2.按英语成绩排序):")
if sort_type == "1":
students.sort(key=lambda x: x["math_score"], reverse=True)
print("按数学成绩排序如下:")
elif sort_type == "2":
students.sort(key=lambda x: x["english_score"], reverse=True)
print("按英语成绩排序如下:")
for i, student in enumerate(students):
print(f"{i+1}. 姓名:{student['name']},数学成绩:{student['math_score']},英语成绩:{student['english_score']}")
# 主程序
while True:
print("欢迎使用学生成绩统计系统!")
print("1. 添加学生信息")
print("2. 查看学生信息")
print("3. 修改学生成绩")
print("4. 统计成绩信息")
print("5. 对成绩进行排序")
print("6. 退出程序")
choice = input("请选择操作:")
if choice == "1":
add_student()
elif choice == "2":
view_students()
elif choice == "3":
modify_score()
elif choice == "4":
calculate_score()
elif choice == "5":
sort_score()
elif choice == "6":
print("谢谢使用!")
break
else:
print("输入有误,请重新输入!")
```
运行程序后,可以根据提示进行各种操作,例如添加学生信息、查看学生信息、修改学生成绩、统计成绩信息、对成绩进行排序等。程序支持任意数量的学生信息,并且可以方便地进行各种操作。
阅读全文