EOF错误python 3

时间:2017-11-09 16:18:13

标签: python eof

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()时,我尝试获得整行,对吧?那么,我怎么才能获得这个数字呢?如果那是问题,那么可能会破坏代码。

2 个答案:

答案 0 :(得分:0)

检查代码的分级器/引擎可能正在运行Python2,在这种情况下,您可以更改为:

number_of_sums = int(raw_input())

在提交之前(以及第8行的类似更改)。

答案 1 :(得分:0)

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")

现在,如果你运行该程序并提交它将引发错误,说明"无效输入"。除了添加try块之外,还包括s1的条件检查,因为您可能会遇到"索引超出范围"如果没有给出正确的输入则会出