You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python姓名与高分列表的追加、排序及并排打印问题求助

姓名分数列表的追加、排序与格式化输出

当前代码的问题

你现在的代码只实现了按分数排序后返回姓名列表,但没关联分数,也没处理追加数据和格式化打印的需求,我们可以调整逻辑,一次性解决所有需求。

改进方案

把姓名和分数绑定在一起处理更直观,具体步骤如下:

  1. 追加新数据
    直接用列表的append()方法添加新的姓名和分数,比如新增一名玩家:
name.append("Tom")
score.append(6)
  1. 关联并排序
    用zip()把分数和姓名打包成元组,默认按元组第一个元素(分数)升序排序,正好符合从低到高的需求。

  2. 格式化打印前3名
    遍历排序后的前3个元素,逐个输出姓名和分数,避免列表括号的样式。

完整代码

name = ["Mary", "Lisa", "Lumby"]
score = [5, 7, 4]

# 追加新玩家数据(示例)
name.append("Tom")
score.append(6)
name.append("Anna")
score.append(3)

# 关联分数与姓名,按分数从低到高排序
sorted_pairs = sorted(zip(score, name))

# 打印前3名,格式化为姓名+分数的形式
print("分数从低到高的前3名:")
for s, n in sorted_pairs[:3]:
    print(f"{n}: {s}")

输出效果

运行后会得到:

分数从低到高的前3名:
Anna: 3
Lumby: 4
Mary: 5

额外简化技巧

如果需要多次添加玩家,可以写个小函数减少重复代码:

def add_player(n, s):
    name.append(n)
    score.append(s)

# 调用添加新玩家
add_player("Jack", 8)

内容的提问来源于stack exchange,提问作者Outblast2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 16:07:50