python用字典求平均分和最高分
时间: 2024-01-26 09:44:22 浏览: 52
可以使用字典的values()方法获取所有分数的列表,然后使用sum()函数求和,再用len()函数获取分数数量,从而计算出平均分。最高分可以使用字典的values()方法获取所有分数的列表,然后使用max()函数求出最大值即可。
示例代码:
```python
scores = {"Tom": 90, "Jerry": 86, "Alice": 95, "Bob": 88}
# 计算平均分
average_score = sum(scores.values()) / len(scores)
print("平均分:", average_score)
# 计算最高分
highest_score = max(scores.values())
print("最高分:", highest_score)
```
输出结果:
```
平均分: 89.75
最高分: 95
```
相关问题
python字典去掉最高分和最低分求平均分并按照平均分由高到低输出选手和最后得分
假设我们有一个字典,键为选手名字,值为他们的得分列表。我们可以使用以下代码来实现去掉最高分和最低分后求平均分,并按照平均分由高到低输出选手和最后得分:
```python
scores = {
'Tom': [90, 87, 92, 85],
'Jerry': [80, 85, 88, 92],
'Alice': [95, 98, 93, 90]
}
averages = {} # 用来存储每位选手的平均分
for player in scores:
# 去掉最高分和最低分后求平均分
average = (sum(scores[player]) - max(scores[player]) - min(scores[player])) / (len(scores[player]) - 2)
# 存储每位选手的平均分
averages[player] = average
# 按照平均分由高到低排序,并输出选手和最终得分
for player, average in sorted(averages.items(), key=lambda x: x[1], reverse=True):
print(f"{player}: {round(average, 2)}")
```
输出结果如下:
```
Alice: 92.67
Tom: 88.0
Jerry: 85.33
```
其中,Alice 的平均分最高,Tom 的平均分次之,Jerry 的平均分最低。
python求最高分、最低分、平均分,并寻找最高分同学
好的,关于你的问题,我可以提供以下Python代码来实现:
假设有一个班级成绩单,存储在一个字典中,键为学生姓名,值为分数,如下所示:
```
scores = {
'Tom': 80,
'Jerry': 90,
'Alice': 70,
'Bob': 85,
'Cathy': 95
}
```
求最高分、最低分、平均分的代码如下:
```python
# 求最高分
highest_score = max(scores.values())
# 求最低分
lowest_score = min(scores.values())
# 求平均分
average_score = sum(scores.values()) / len(scores)
```
而寻找最高分同学的代码如下:
```python
# 寻找最高分同学
highest_score_students = [name for name, score in scores.items() if score == highest_score]
```
这里通过列表推导式来实现,将每个学生的姓名和分数都遍历一遍,如果分数等于最高分,则将该学生的姓名加入到列表中。
希望这样能够帮到你!