初级
排名
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
def solve(data):
lines = data.split(';')
students = []
for line in lines:
parts = line.split(',')
sid = parts[0]
score = int(parts[1])
students.append((sid, score))
students.sort(key=lambda x: (-x[1], x[0]))
rank = 1
for i, (sid, score) in enumerate(students):
if i > 0 and score < students[i-1][1]:
rank = i + 1
print(f'{rank} {sid} {score}')
示例
输入
solve('A001,90;A002,95;A003,90')
期望输出
1 A002 95 2 A001 90 2 A003 90
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199