当我将此文件提交给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()
答案 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
答案 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