如何从成绩单获取亚军分数?列表输出异常技术咨询
如何从分数列表中提取亚军分数
要解决这个问题,核心是对分数列表做去重+排序处理,然后提取第二高的数值,而不是直接输出整个列表。以下是具体实现步骤(以Python为例):
- 第一步:处理分数列表,先去重(避免多个并列最高分干扰亚军判断),再按降序排序
- 第二步:从排序后的去重列表中,取索引为1的元素(索引从0开始),就是亚军分数;如果所有分数相同,亚军分数等于冠军分数
代码示例
# 示例分数列表(可替换为实际输入的列表) scores = [100, 95, 100, 90, 95] # 去重并降序排序 unique_sorted_scores = sorted(set(scores), reverse=True) # 获取亚军分数 if len(unique_sorted_scores) >= 2: runner_up_score = unique_sorted_scores[1] else: runner_up_score = unique_sorted_scores[0] # 仅输出亚军分数 print(runner_up_score)
适配用户输入场景
如果需要从用户输入获取n个分数,代码可以改成这样:
n = int(input()) # 输入分数个数 scores = list(map(int, input().split())) # 输入n个分数,空格分隔 unique_sorted_scores = sorted(set(scores), reverse=True) runner_up_score = unique_sorted_scores[1] if len(unique_sorted_scores) > 1 else unique_sorted_scores[0] print(runner_up_score)
你之前输出整个列表,是因为没有对列表做筛选提取操作,直接输出了原始列表。通过上述步骤,就能精准提取并输出亚军分数。
内容的提问来源于stack exchange,提问作者Mridul Nikhanj
相关产品推荐
相关产品推荐

