Python3:在GUVI上获取输入时出现EOF错误。

问题描述 投票:0回答:1

这是我在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错误,我试着用except EOFError来捕捉这个错误,但是这只是让我的程序运行,而不是解决输入问题。

Output:
Error: EOF or empty input!

我试着用EOFError来捕捉这个错误,但这只是让我的程序运行,而不是解决输入问题。崇高的文字 编辑以及 Vs代码我不明白,是我的代码有问题,还是那个在线平台有问题,我甚至试图在GUVI的Q&A平台上搜索答案,我找到了类似的问题,但没有人回答,而且这不仅仅是针对这块代码,但我发现之前很多人都有同样的错误。

Could ANYONE help me, please!

提前感谢你...:)

python python-3.x priority-queue eof
1个回答
0
投票

如果没有提供输入,就会发生EOF错误。

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

也就是说,当你试图通过raw_input()来访问输入时,将不会有输入被提供,从而导致上述错误。

为了避免这种情况,请在运行代码前提供错误的输入,如下所示

enter image description here

另外,我可以注意到你使用的是raw_input()和input()。请注意,如果你使用Python 2,可以使用raw_input(),如果你使用python 3,则可以使用input()。

© www.soinside.com 2019 - 2024. All rights reserved.