简单Python代码中的NZEC错误

1 投票
1 回答
4451 浏览
提问于 2025-04-18 02:37

这个问题和之前在Python中的NZEC错误提到的很像,那个问题已经有人回答过了。不过,那个被认可的答案对我来说并不管用。

我在Codechef上尝试解决这个问题,链接是http://goo.gl/cHYm4W,我用的代码是:

x, y = raw_input().split(" ")
x = int(x)
y = float(y)

if x%5 == 0 and y-x-0.5 >= 0:
    y = y-x-0.5

print "%0.2f" % y

这段代码让我遇到了NZEC错误。但是如果我把它改成

user_input = raw_input().split()
x = int(user_input[0])
y = float(user_input[1])

if x%5 == 0 and y-x-0.5 >= 0:
    y = y-x-0.5

print "%0.2f" % y

这段代码就能正常工作了。有人能解释一下为什么第一种方法不行吗?

1 个回答

10

当你尝试使用 raw_input().split(" ") 时,可能会出现 nzec 错误。这是因为出题者在上传输入输出测试用例时,通常会在最后留一个空格。比如说,如果你的输入是这样的:

1

3 2

那么在 3 和 2 之后,2 后面会有一个空格,这就导致了 Python 中的 nzec 错误。

所以记住,不要用 split(" "),而是用 split()。这个问题其实是出在上传测试用例的出题者身上,而不是你的代码逻辑有问题。

撰写回答