本文目录导读:

我来帮你编写一个Python程序来统计球员评分最高者是谁,这里提供几个不同实现方式的示例:
使用字典存储球员和评分
def find_top_player_dict():
# 球员评分数据
players_scores = {
"詹姆斯": 28.5,
"库里": 25.3,
"杜兰特": 27.8,
"字母哥": 29.1,
"约基奇": 26.4
}
# 方法1:使用max函数
top_player = max(players_scores, key=players_scores.get)
top_score = players_scores[top_player]
print("="*30)
print("🏀 球员评分统计")
print("="*30)
for player, score in players_scores.items():
print(f"{player}: {score}分")
print("-"*30)
print(f"🏆 最高评分球员: {top_player}")
print(f"📊 评分为: {top_score}分")
print("="*30)
return top_player, top_score
# 运行函数
find_top_player_dict()
使用列表存储球员信息
def find_top_player_list():
# 球员数据:[(姓名, 评分), ...]
players = [
("乔丹", 30.1),
("科比", 25.0),
("詹姆斯", 28.5),
("库里", 24.8),
("杜兰特", 27.2)
]
# 找到最高分球员
top_player = max(players, key=lambda x: x[1])
print("="*30)
print("🏀 球员评分统计")
print("="*30)
for name, score in players:
print(f"{name}: {score}分")
print("-"*30)
print(f"🏆 最高评分球员: {top_player[0]}")
print(f"📊 评分为: {top_player[1]}分")
print("="*30)
return top_player
# 运行函数
find_top_player_list()
支持用户输入和多个球员
def find_top_player_input():
players = {}
while True:
name = input("请输入球员姓名(输入'结束'退出):")
if name == "结束":
break
try:
score = float(input(f"请输入{name}的评分:"))
players[name] = score
except ValueError:
print("评分请输入数字!")
continue
if not players:
print("没有输入任何球员数据")
return
# 找到最高评分球员
top_player = max(players, key=players.get)
top_score = players[top_player]
# 输出结果
print("\n" + "="*35)
print("📊 球员评分统计结果")
print("="*35)
for name, score in sorted(players.items(), key=lambda x: x[1], reverse=True):
print(f"{'🥇' if name == top_player else ' '} {name}: {score:.1f}分")
print("-"*35)
print(f"🏆 最高评分球员: {top_player}")
print(f"📊 评分: {top_score:.1f}分")
print("="*35)
# 运行函数(取消注释即可使用)
# find_top_player_input()
带数据分析和可视化
def analyze_players_scores():
# 示例数据
players_data = {
"勒布朗·詹姆斯": 28.5,
"斯蒂芬·库里": 25.3,
"凯文·杜兰特": 27.8,
"扬尼斯·阿德托昆博": 29.1,
"尼古拉·约基奇": 26.4,
"卢卡·东契奇": 27.9,
"吉安尼斯·斯泽比亚克": 22.5
}
# 统计分析
scores_list = list(players_data.values())
# 基本信息
total_players = len(players_data)
avg_score = sum(scores_list) / total_players
max_score = max(scores_list)
min_score = min(scores_list)
# 找到最高分球员(可能有并列)
top_players = [name for name, score in players_data.items()
if score == max_score]
# 输出结果
print("="*40)
print(" 🏀 球员评分分析报告")
print("="*40)
print(f"总参与人数: {total_players}人")
print(f"平均评分: {avg_score:.2f}分")
print(f"最高评分: {max_score:.1f}分")
print(f"最低评分: {min_score:.1f}分")
print("-"*40)
print("🥇 最高评分球员:")
for player in top_players:
print(f" ⭐ {player}: {max_score:.1f}分")
print("-"*40)
print("📊 评分排名:")
sorted_players = sorted(players_data.items(),
key=lambda x: x[1],
reverse=True)
for i, (name, score) in enumerate(sorted_players, 1):
medal = "🥇" if i == 1 else "🥈" if i == 2 else "🥉" if i == 3 else " "
print(f"{medal} 第{i}名: {name:<15} {score:.1f}分")
print("="*40)
return top_players, max_score
# 运行函数
analyze_players_scores()
运行示例
如果你运行方案一,输出结果将如下:
==============================
🏀 球员评分统计
==============================
詹姆斯: 28.5分
库里: 25.3分
杜兰特: 27.8分
字母哥: 29.1分
约基奇: 26.4分
------------------------------
🏆 最高评分球员: 字母哥
📊 评分为: 29.1分
==============================
简单版本(最适合快速使用)
def quick_find_top_player():
# 直接定义球员评分
scores = {
"詹姆斯": 28.5,
"库里": 25.3,
"杜兰特": 27.8,
"字母哥": 29.1,
"约基奇": 26.4
}
# 一行代码找到最高分球员
top_player = max(scores, key=scores.get)
print(f"评分最高的球员是:{top_player},评分:{scores[top_player]}分")
return top_player
# 使用
quick_find_top_player()
选择最适合你需求的版本:
- 方案一:最常用,使用字典
- 方案二:使用列表,适合简单场景
- 方案三:支持手动输入数据
- 方案四:完整的统计分析
- 快速版本:一行代码解决问题
你可以根据实际数据格式选择相应的实现方式。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播