运行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
相关产品推荐
相关产品推荐

