为什么我的python程序在Kattis解释器上给出运行时错误?

时间:2019-06-26 02:56:19

标签: python dictionary kattis

当我将此文件提交给Kattis时,我得到了Run Time Error,没有进一步的解释。看起来很简单的代码,但是也许我只是缺少一些东西。

它在我的python 3解释器上运行。为什么在Kattis上不起作用? (或其他翻译)

问题:https://open.kattis.com/problems/babelfish

dictionary = dict()
userInput = input()
while userInput != "":
    buf = userInput.split()

    english = buf[0]
    foreign = buf[1]

    dictionary[foreign] = english
    userInput = input()


userInput = input()
while userInput != "":
    if userInput in dictionary:
        print(dictionary.get(userInput))
    else:
        print("eh")

    userInput = input()

2 个答案:

答案 0 :(得分:1)

我认为问题在于,您在执行输入数据时无法使用input()函数获取数据。您应该阅读标准输入,如下所示:

for i in sys.stdin:
    ab = i.split()
    a = int(ab[0])
    b = int(ab[1])
    # Solve the test case and output the answer

Kattis documentation on Python3

答案 1 :(得分:0)

Kattis建议function showPDF(url) { adobeDCView = null; fetch(url) .then((res) => res.blob()) .then((blob) => { adobeDCView = new AdobeDC.View({ // This clientId can be used for any CodePen example clientId: "e800d12fc12c4d60960778b2bc4370af", // The id of the container for the PDF Viewer divId: "adobe-dc-view" }); adobeDCView.previewFile( { content: { promise: Promise.resolve(blob.arrayBuffer()) }, metaData: { fileName: url.split("/").slice(-1)[0] } }, { embedMode: "FULL_WINDOW", defaultViewMode: "FIT_PAGE", showDownloadPDF: true, showPrintPDF: true, showLeftHandPanel: false, showAnnotationTools: false } ); }); } 读取输入数据。但是,也可以使用sys.stdin

第二个while-Loop的中断条件在您的代码中不起作用。 虽然有一个空字符串告诉您第一个程序段即将结束,但第二个程序段没有一个字符串。

在流中的最后一个数据被input()捕获后,您仍在尝试在下一个循环中使用input()获取更多数据。 因此,抛出一个userInput = input(),您可能会抓住它来获取破坏条件:

EOFError