Python中的NZEC错误

在各种竞争网站上编码时,许多人肯定遇到过NZEC错误。顾名思义,NZEC(非零退出代码)出现在代码未能返回0时。当代码返回0时,意味着它已成功执行,否则它将根据错误类型返回其他数字。 当程序结束时,它应该返回“0”以指示完成是否良好,但无法完成时,它会导致NZEC。当然,与NZEC相关的病例更多。

null

为什么会出现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错误的一些突出原因

  1. 无限递归或堆栈内存不足。
  2. 输入和输出都与测试用例不完全相同。
  3. 作为在线平台,使用与指定输出完全匹配的计算机代码测试程序。
  4. 当程序执行基本编程错误(如除以0)时,也会显示这种类型的错误。
  5. 检查变量的值,它们可能容易受到整数流的影响。

NZEC错误的发生可能还有其他原因,我列出了常见的原因。

本文由 阿卡什·提瓦里 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 写极客。组织 或者把你的文章寄去评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享