在各种竞争网站上编码时,许多人肯定遇到过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 当您在中运行上述代码时 集成电路设备 使用上述输入,您将得到错误信息:-
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 = raw_input ().split( " " ) n = int (n) k = int (k) print n, " " ,k |
输入:
7 3
输出:
7 3
NZEC错误的一些突出原因
- 无限递归或堆栈内存不足。
- 输入和输出都与测试用例不完全相同。
- 作为在线平台,使用与指定输出完全匹配的计算机代码测试程序。
- 当程序执行基本编程错误(如除以0)时,也会显示这种类型的错误。
- 检查变量的值,它们可能容易受到整数流的影响。
NZEC错误的发生可能还有其他原因,我列出了常见的原因。
本文由 阿卡什·提瓦里 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 写极客。组织 或者把你的文章寄去评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。