3.老师录入10个学生高级语言程序设计成绩(姓名+成绩假定无重名),用宇 典结构保存,现需要对学生成绩进行统计, 要求: 1)张三(10个学生文一)成绩出错,请改为90。需要通过代码进行修改; 2) 判断录人学生成绩是否异第,若异第,重新输入该生成绩: 3) 输出所有学生平均分,最高分,最低分
时间: 2024-01-01 21:06:56 浏览: 22
好的,我会根据您的需求进行回答。以下是代码实现:
```python
class Student:
def __init__(self, name, score):
self.name = name
self.score = score
students = []
# 录入成绩
for i in range(10):
name = input("请输入第{}个学生的姓名:".format(i+1))
score = float(input("请输入第{}个学生的成绩:".format(i+1)))
student = Student(name, score)
students.append(student)
# 修改张三的成绩
for student in students:
if student.name == "张三":
student.score = 90
break
# 判断学生成绩是否合法
for student in students:
while student.score < 0 or student.score > 100:
student.score = float(input("请重新输入{}的成绩:".format(student.name)))
# 计算平均分、最高分、最低分
total_score = 0
max_score = students[0].score
min_score = students[0].score
for student in students:
total_score += student.score
if student.score > max_score:
max_score = student.score
if student.score < min_score:
min_score = student.score
avg_score = total_score / len(students)
# 输出结果
print("所有学生的平均分为:{:.2f}".format(avg_score))
print("最高分为:{:.2f}".format(max_score))
print("最低分为:{:.2f}".format(min_score))
```
希望能够帮助到您!