简单Python代码中的NZEC错误
这个问题和之前在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()。这个问题其实是出在上传测试用例的出题者身上,而不是你的代码逻辑有问题。