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

Python百分制转字母等级程序报NameError错误该如何解决?

问题诊断
  • 触发NameError报错的核心原因:你在条件判断中直接使用了grade变量,但代码运行前没有对该变量进行赋值定义,Python无法识别未声明的变量。
  • 现有代码还存在隐藏的缩进问题:if语句前的多余缩进不符合Python语法规范,即便修复变量问题也会触发IndentationError缩进错误。
修复后的完整可运行代码
# 读取用户输入的分数并转为整数类型
grade = int(input("请输入0-100区间的分数:"))
letterGrade = "F"

# 先校验分数合法性
if 0 <= grade <= 100:
    if grade >= 90:
        letterGrade = "A"
    elif grade >= 80:
        letterGrade = "B"
    elif grade >= 70:
        letterGrade = "C"
    elif grade >= 60:
        letterGrade = "D"
    print(f"对应字母等级为:{letterGrade}")
else:
    print("输入非法,请输入0到100之间的有效分数")
改动说明
  • 新增了grade变量的定义逻辑,通过input()读取用户输入后转为整数类型,确保条件判断时变量可用
  • 修正了所有语句的缩进层级,符合Python语法要求
  • 新增了分数合法性校验逻辑,避免输入超出0-100区间时输出错误结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 02:27:02