某学校举办《校园演讲比赛”,每位选手由 位评委打分(分数为 0-10的整数),且每位评委必须打分。 计分规则:去掉一个最高分,去掉一个最低分。如下程序通过键盘先输入选手编号,然后依次输入 个分数,并计算最终得分。下列说法正确的是( )。 for _ in range(10): id = int(input("输入选手编号:")) max_score, min_score = 0, 100 # 最高分和最低分 total_score = 0 # 总分 for i in range(1, 9): score = int(input(f"输入选手第{i}个成绩:")) if max_score score: min_score = score total_score += score total_score = total_score - max_score - min_score print(f""" {id}号选手的成绩: 去掉一个最高分{max_score}, 去掉一个最低分{min_score}, 最后成绩是: {total_score}""")
A:上述代码能完成题目要求
B:max_score, min_score = 0, 100 应修改为 max_score, min_score = 0, 0
C:max_score score 必须相应修改为 =
D:total_score = total_score - max_score - min_score 不能达到预期,可修改如下:total = total_score - max_score - min_score total_score = total
正确答案:A
答案解析
程序通过循环读取选手编号和8个分数,初始化最高分和最低分分别为0和100。遍历输入的每个分数,更新当前最高分和最低分,并累加总分。所有分数输入后,从总分中减去一个最高分和一个最低分,输出处理后的结果。代码逻辑中对极值的初始设定影响首次比较结果,条件判断依赖当前值与输入值的大小关系。每次输入均参与极值判定和总分累加,最终得分基于修改后的总分计算并输出。
试卷来源:202606 CCF-GESP编程能力等级认证Python二级真题