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

运行Python代码报NameError: name 'Doctor' is not defined错误怎么解决

报错原因
  • 你代码中调用Desc(Doctor)时,Doctor没有被提前定义为变量。你仅定义了Analyst、Developer、Engineer三个变量对应1、2、3的数值,Python解释器找不到Doctor这个变量名,因此抛出NameError: name 'Doctor' is not defined报错。
修复方案

根据你的使用场景可以二选一:

  • 方案1:仅测试未知职业的提示逻辑
    直接将调用语句修改为Desc(4)(传1-3之外的任意整数即可),运行后会自动触发else分支的抱歉提示,不需要修改其他代码。
  • 方案2:新增Doctor职业的支持
    先补充定义Doctor变量,同时可以在函数内新增对应语录分支,修改后的完整代码如下:
# 输出3种职业的对应语录,未识别的职业输出抱歉提示
# 职业描述子函数
def Desc(Job):
    if Job == 1:
        print("看见别人看不到的东西,会赋予你卓越的远见")
    elif Job == 2:
        print("逻辑思维、热情和毅力是你调色盘上的颜料")
    elif Job == 3:
        print("工程师过去是、现在仍然是历史的创造者")
    elif Job == 4:
        # 可自行修改为医生对应的专属语录
        print("医者仁心,每一次全力以赴都在点亮生命的光")
    else:
        print("抱歉,我们找不到对应你职业的语录")

Analyst = 1
Developer = 2
Engineer = 3
Doctor = 4

# 主程序
Desc(Doctor)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 05:54:01