簡體   English   中英

Python- EOFError:讀取行時出現EOF

[英]Python- EOFError: EOF when reading a line

我正在嘗試使用以下代碼解決問題:

def inmobi(t):
    while t:
        li = map(int, raw_input().split())
        n, ans = li[0], li[1:]
        one, two, op = [], [], []
        for e in range(n):
            for i in range(1, n):
                if e + i < n:
                    one.append(ans[e] + ans[e + i])
        two = sorted(one)           
        print two[n-1] - two[n-2]
        t += 1
t = int(raw_input())
inmobi(t)

當我在Ubuntu中使用Linux Shell運行時,此代碼為我提供了所需的輸出。 但是,當我嘗試使用競爭性編程網站提供的解釋器運行此代碼時,出現以下錯誤:

Traceback (most recent call last):
  File "/tmp/editor_trsource_1438181626_447674.py", line 14, in 
    inmobi(t)               
  File "/tmp/editor_trsource_1438181626_447674.py", line 3, in inmobi
    li = map(int, raw_input().split())
EOFError: EOF when reading a line

我嘗試閱讀其他類似問題的答案,但在我看來,這些問題似乎都不起作用。

根據競爭性編程網站,我假設輸入的第一行是測試用例的數量(通常是這種情況)。

您的問題基本上符合要求-

t += 1

在這里,您不斷增加t的值,但是您的while條件是while t:t永遠不會下降,因此while循環永遠不會退出,因此,基本上while循環是一個無限循環,並且在從編程競賽網站上獲得輸入后不久精疲力盡,導致您看到的EOFError 我不知道它如何在Linux中為您工作,但它也應該在那里陷入無限循環。 您應該減少t,而不是增加它。

t -= 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM