刚刚计算平均分最高分的代码如何改进才能不报错
时间: 2023-12-10 11:03:21 浏览: 21
可能是因为在计算平均分时,分母可能为0,导致了 ZeroDivisionError 的错误。为了避免这种情况,可以在计算平均分之前,先检查分母是否为0,如果为0,则返回0。可以使用以下代码来计算平均分并避免报错:
```python
scores = {"Zhang San": 45, "Li Si": 78, "Wang Wu": 40,
"Zhou Liu": 96,"Zhao Qi": 65, "Sun Ba": 90,
"Zheng Jiu": 78, "Wu Shi": 99,"Dong Shiyi": 60}
# 计算最高分、最低分、平均分
max_score = max(scores.values())
min_score = min(scores.values())
avg_score = sum(scores.values()) / len(scores) if len(scores) > 0 else 0
print("最高分:", max_score)
print("最低分:", min_score)
print("平均分:", avg_score)
# 查找所有最高分同学
max_score_students = [name for name, score in scores.items() if score == max_score]
print("所有最高分同学:", max_score_students)
```
这样在分母为0的情况下,程序会返回0,避免了 ZeroDivisionError 的错误。