Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python NameError:未定义名称全局声明 !/垃圾桶/蟒蛇3_Python_Python 3.x - Fatal编程技术网

Python NameError:未定义名称全局声明 !/垃圾桶/蟒蛇3

Python NameError:未定义名称全局声明 !/垃圾桶/蟒蛇3,python,python-3.x,Python,Python 3.x,我得到这个错误: Compiler Message Runtime Error Error (stderr) Traceback (most recent call last): File "Solution.py", line 31, in <module> plusMinus(arr) File "Solution.py", line 20, in plusMinus contorNegativ += 1 NameE

我得到这个错误:

Compiler Message
Runtime Error
Error (stderr)
Traceback (most recent call last):
  File "Solution.py", line 31, in <module>
    plusMinus(arr)
  File "Solution.py", line 20, in plusMinus
    contorNegativ += 1
NameError: name 'contorNegativ' is not defined

编译器消息
运行时错误
错误(stderr)
回溯(最近一次呼叫最后一次):
文件“Solution.py”,第31行,在
普鲁斯米努斯(arr)
文件“Solution.py”,第20行,plusMinus格式
contorNegativ+=1
名称错误:未定义名称“contorNegativ”
如果我在for之前声明变量并初始化它们,它就可以正常工作


为什么它不能与函数中的全局声明一起工作?

您需要定义
contorPositiv
。我认为,在这方面,向全球发出的呼吁可能是在转移视线。假设这些变量是全局变量,然后调用
contorPozitiv+=1
,这相当于
contorPozitiv=contorPozitiv+1
。程序不知道contorPozitiv的值是多少,因此崩溃


在所有导入之后,使用简单的
contorPozitiv=0
初始化该值可能会解决此问题。其他变量也是一样

必须定义一个变量才能使用它

将此添加到for循环的上方

contorPozitiv = 0
contorNegativ = 0
contorZero = 0

您必须定义一个变量,以便在任何范围内使用它。在您的函数中,您认为
contorPozitiv+=1
的值是什么,它相当于
contorPozitiv=contorPozitiv+1
?contorPozitiv=0您为什么相信这一点?你没有给
0
赋值给
contorPozitiv
真的,问问你自己,这应该很有启发性。在使用变量之前一定要定义变量。
contorPozitiv = 0
contorNegativ = 0
contorZero = 0