我刚刚开始学习python,并且正在编写一个(看似)简单的程序,但是遇到“未定义名称”错误。
这是我的代码:
if iDisL == cDisL or iDisL == cDisR:
output = iDisL
if iDisR == cDisL or iDisR == cDisR:
output = iDisR
oFile = open("manout.txt", "w")
oFile.write(output)
奇怪的是,这是第一次在运行时起作用,但是当我在输入文件中插入一组新数字时却没有起作用。我正在运行python 3。
答案 0 :(得分:3)
如果(iDisL == cDisL or iDisL == cDisR)
和(iDisR == cDisL or iDisR == cDisR)
均为False
,则未定义输出。请注意。
关于NameError:
在找不到本地或全局名称时引发。
答案 1 :(得分:2)
当代码尝试访问尚未分配的变量时,会发生NameError
异常。
我建议您为iDisL
和iDisR
不等于cDisL
和cDisR
的情况定义默认值。
答案 2 :(得分:0)
尝试以下方法解决您的问题:
output = ""
if iDisL == cDisL or iDisL == cDisR:
output = iDisL
if iDisR == cDisL or iDisR == cDisR:
output = iDisR
oFile = open("manout.txt", "w")
oFile.write(output)
或者检查输出是否为“”,并且不写文件。