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

编写接收数值成绩列表返回对应字母等级的函数及错误代码修复

问题原因

你写的列表推导式里的多分支判断语法不符合Python规范:Python的单行条件表达式语法为值1 if 条件 else 值2,多分支嵌套需要严格按照这个语法逐层衔接,不能直接写elif;同时原代码里D等级的边界判断写为i<69会漏掉刚好69分的情况。

修复后可运行代码

def letter_grade_list(grade):
    return [
        "A" if i >= 90
        else "B" if i >= 80
        else "C" if i >= 70
        else "D" if i >= 60
        else "F"
        for i in grade
    ]

代码说明

  • 省略了每个等级的上限判断,因为前面的条件已经过滤了更高分数的场景,代码更简洁也不会出现边界遗漏问题
  • 严格遵循Python单行多分支条件的语法规则,用else + 新if的结构模拟elif逻辑
  • 调用示例:
print(letter_grade_list([95, 82, 76, 69, 59]))
# 输出:['A', 'B', 'C', 'D', 'F']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 14:27:03