很多人一定遇到过 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
当输入位于两个不同的行时,上面的代码将正常工作。你可以自己测试一下。为了解决这个问题,你需要使用 split。
正确的代码
n,k=input().split() n = int(n) k = int(k) print(n," ",k)
输入:
7 3
输出:
NZEC 错误的一些重要原因
原文链接:codingdict.net