为什么CodeChef在python3.6上为input()读取一行时会给出NZEC EOFError:EOF

时间:2019-05-14 21:06:39

标签: python runtime-error python-3.6

以下代码在PyCharm上运行良好,但CodeChef IDE根本不会接受它。我在这里想念什么吗?请说服我,我整天坐在这里都是傻瓜

我什至尝试切换到Python 2.7并将功能更改为raw_input()。

n = int(input()) # Line 1. This is where it goes bananas

我在PyCharm上获得了所需的输出

但是,在CodeChef上:

Runtime Error: NZEC
Traceback (most recent call last):
  File "./prog.py", line 1, in <module>
EOFError: EOF when reading a line

4 个答案:

答案 0 :(得分:0)

请注意,input()返回一个字符串。

同一行中是否有类似1 2的输入。然后,您必须拆分并映射。否则会出错。

n, m = map(int, input().split())

答案 1 :(得分:0)

我明白了!我只需要提供自定义输入。该死的CodeChef

答案 2 :(得分:0)

关注EOFError: EOF when reading a line

发生这种情况是因为代码需要从命令行输入,但是提供输入的文件为空。

n =int(input())

考虑以上行。它会期待输入,但是一旦读取文件,它将获得EOF分隔符。

因此,引发EOFError。

答案 3 :(得分:0)

坚持使用input()方法从用户那里获取输入,您可以使用stdin(标准输入)。

只需import sys.stdin,然后使用n=eval(stdin.readline())进行输入。还要将您的代码放入try和execpt EOFError中。

样品-

from sys import stdin
try:
    n=eval(stdin.readline())
    # write your code here
except EOFError:
    print("EOFError")