📅  最后修改于: 2020-04-08 09:46:28             🧑  作者: Mango
在各种竞争性网站上进行编码时,许多人一定遇到NZEC错误。顾名思义,NZEC(非零退出代码)发生在您的代码未能返回0时。当代码返回0时,表示它已成功执行,否则将根据错误类型返回其他一些数字。
当程序结束并且应该返回“ 0″以指示是否完成并且不能这样做时,它会导致NZEC。当然,还有更多与NZEC相关的案例。
为何发生NZEC?(一个例子)
在Python中,通常多个输入之间用逗号分隔,我们使用input()或int(input())进行读取,但是大多数在线编码平台在测试时都会以空格分隔输入,在这种情况下,输入为int(input())无法正确读取输入,并显示错误,例如NZEC。
怎么解决?
例如,考虑一个简单的程序,您必须读取2个整数并将其打印(在输入文件中,两个整数都在同一行中)。假设您有两个整数,如下所示:
23 45
不使用
n = int(input())
k = int(input())
应使用:
n, k = raw_input().split(" ")
n = int(n)
k = int(k)
用空格分隔输入。
错误代码
n = int(input())
k = int(input())
print n," ",k
输入:
2 3
当您使用上面的输入在IDE中运行以上代码时,您将得到错误:
Traceback (most recent call last):
File "b712edd81d4a972de2a9189fac8a83ed.py", line 1, in
n = int(input())
File "", line 1
2 3
^
SyntaxError: unexpected EOF while parsing
当输入在2条不同的2行中时,上面的代码可以正常工作。要解决此问题,您需要使用split。
正确的代码
n, k = raw_input().split(" ")
n = int(n)
k = int(k)
print n," ",k
输入:
7 3
输出:
7 3
NZEC错误的一些突出原因
NZEC错误也可能有其他原因,本文列出了一些常见原因。