Python3:在GUVI上输入时发生EOF错误

时间:2020-04-04 05:13:27

标签: python python-3.x priority-queue eof

这是我在python3中的代码:

import heapq

myQueue = []
n = raw_input()
try:
  num = int(n)
  if num<=100000 :
    arr = input().split()
  for i in range(num):
    heapq.heappush(myQueue, arr[i])
    print(myQueue[0])

except (NameError, ValueError):
  print("Wrong Input, N should be under 100000")

except IndexError:
  print("Inputs is less than actually required")

except EOFError:
  print ("Error: EOF or empty input!")

我正在尝试实现优先级队列。 但是在GUVI上解决此问题时,我遇到了EOF错误。

Output:
Error: EOF or empty input!

尝试使用EOFError除外捕获错误,但这只会使我的程序运行,但不能正确解决输入问题。 我什至尝试在 Sublime text 编辑器以及 Vs code 上运行这段代码, 运行正常的地方,正确输出。 我不明白,我的代码或那个在线平台是否存在问题。 我什至试图在他们的GUVI问答平台上搜索答案,我发现了类似的问题,但没有人回答。 这不仅是针对这段代码,而且我以前也发现了相同的错误。

请帮助任何人!

先谢谢您..:)

1 个答案:

答案 0 :(得分:1)

如果未提供输入,则会发生EOF错误。

对于大多数在线编译器,您需要在运行代码之前提供输入。

话虽如此,当您尝试通过raw_input()访问输入时,将不会提供任何输入,从而导致上述错误。

为避免这种情况,请在运行以下代码之前先提供错误信息

enter image description here

此外,我可以注意到您正在使用raw_input()和input()。请注意,如果您使用的是Python 2,则可以使用raw_input();如果相应地使用的是python 3,则可以使用input()。