EOF 错误 python 3
EOF error python 3
def reverse_number(x):
return x[::-1]
number_of_sums = int(input())
for i in range(number_of_sums):
s1 = input().split()
print(int(reverse_number(s1[0])) + int(reverse_number(s1[1])))
我有下面的代码,应该是一个SPOJ问题的解决方案。它可以很好地编译并适用于我提供的示例,但是一旦我提交它就说它发现了一个 EOF 错误。
它将我指向代码中的第 5 行,我相信我明白为什么。当我使用 input() 时,我会尝试获取整行,对吗?那么,我将如何继续只获得号码?如果那当然是问题所在,则可能是其他原因破坏了代码。
可能校验码的grader/engine是运行Python2,这时可以改成:
number_of_sums = int(raw_input())
在提交之前(以及第 8 行的类似更改)。
def reverse_number(x):
return x[::-1]
try:
number_of_sums = int(input())
for i in range(number_of_sums):
s1 = input().split()
if len(s1) > 0:
print(int(reverse_number(s1[0])) + int(reverse_number(s1[1])))
except ValueError:
print("Invalid Input")
现在,如果您 运行 程序并提交它,将抛出错误 "Invalid Input"。除了添加 try
块之外,还包括 s1
的条件检查,因为如果没有提供正确的输入,您可能会遇到 "Index out of range" 错误。
def reverse_number(x):
return x[::-1]
number_of_sums = int(input())
for i in range(number_of_sums):
s1 = input().split()
print(int(reverse_number(s1[0])) + int(reverse_number(s1[1])))
我有下面的代码,应该是一个SPOJ问题的解决方案。它可以很好地编译并适用于我提供的示例,但是一旦我提交它就说它发现了一个 EOF 错误。
它将我指向代码中的第 5 行,我相信我明白为什么。当我使用 input() 时,我会尝试获取整行,对吗?那么,我将如何继续只获得号码?如果那当然是问题所在,则可能是其他原因破坏了代码。
可能校验码的grader/engine是运行Python2,这时可以改成:
number_of_sums = int(raw_input())
在提交之前(以及第 8 行的类似更改)。
def reverse_number(x):
return x[::-1]
try:
number_of_sums = int(input())
for i in range(number_of_sums):
s1 = input().split()
if len(s1) > 0:
print(int(reverse_number(s1[0])) + int(reverse_number(s1[1])))
except ValueError:
print("Invalid Input")
现在,如果您 运行 程序并提交它,将抛出错误 "Invalid Input"。除了添加 try
块之外,还包括 s1
的条件检查,因为如果没有提供正确的输入,您可能会遇到 "Index out of range" 错误。