NameError:名称“输出”未定义

时间:2018-08-16 09:36:15

标签: python

我刚刚开始学习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。

3 个答案:

答案 0 :(得分:3)

如果(iDisL == cDisL or iDisL == cDisR)(iDisR == cDisL or iDisR == cDisR)均为False,则未定义输出。请注意。

关于NameError

  

在找不到本地或全局名称时引发。

答案 1 :(得分:2)

当代码尝试访问尚未分配的变量时,会发生NameError异常。

我建议您为iDisLiDisR不等于cDisLcDisR的情况定义默认值。

答案 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)

或者检查输出是否为“”,并且不写文件。