Python为老师们编写一个处理全班考试成绩的程序,要求如下(1)能够依次录入班级同学的姓名和分数(2)录入完毕,则打印出全班同学的平均分,以及最高分同学的姓名和分数。
时间: 2024-10-12 22:07:15 浏览: 51
在Python中,你可以使用字典数据结构来存储每个学生的姓名和分数,因为字典可以方便地通过键(姓名)查找对应的值(分数)。这里是一个简单的示例程序:
```python
class Classroom:
def __init__(self):
self.students = {} # 初始化一个空字典用于存放学生信息
def add_student(self, name, score):
self.students[name] = score # 学生名作为键,分数作为值添加到字典中
def calculate_average(self):
if not self.students: # 检查是否有学生
return "无学生信息"
total_score = sum(self.students.values())
average_score = total_score / len(self.students)
return f"全班平均分:{average_score:.2f}"
def find_highest_score(self):
if not self.students: # 检查是否有学生
return "无学生信息"
highest_score = max(self.students.values())
for name, score in self.students.items():
if score == highest_score:
return f"最高分学生:{name}, 分数:{highest_score}"
return "所有学生的分数相同"
# 示例操作
classroom = Classroom()
while True:
name = input("请输入学生姓名(输入q结束录入):")
if name.lower() == 'q':
break
score = float(input("请输入分数:"))
classroom.add_student(name, score)
print(classroom.calculate_average()) # 打印平均分
print(classroom.find_highest_score()) # 打印最高分及其对应的学生
```
在这个程序中,用户可以循环输入学生姓名和分数,直到输入'q'退出。然后程序会计算并打印出全班的平均分和最高分学生的信息。
阅读全文