【发布时间】:2017-10-27 22:03:24
【问题描述】:
我的代码如下:
def function(a, b):
while a != 0 and b != 0:
...
return x
if __name__ == "__main__":
input = sys.stdin.read()
a, b = map(int, input.split())
print(function(a, b))
当我尝试运行它时,程序没有给我输入的机会。
我收到以下回溯消息:
ValueError: not enough values to unpack (expected 2, got 0)
谁能告诉我原因以及我可以如何输入来测试我的程序。
非常感谢。
【问题讨论】:
-
你没有使用
input有什么特别的原因吗?? -
你是如何运行你的程序的?
-
“我需要保持
input方法完好无损”是什么意思?input是一个内置函数,可以满足您的需要。我不是在谈论您的变量input,它隐藏了内置函数。你到底为什么要使用sys.stdin?无论如何,sys.stdin.read一直从stdin读取,直到遇到 EOF。你在什么系统上?当你运行这个时你到底在做什么? -
您从来没有机会提供意见吗?它只是立即出错?我在 Mac 上,我可以让它工作。这很烦人,因为您必须按 Enter 然后 ctrl-D,这就是为什么您应该使用
input函数,但它确实有效。 -
...在线评分者如何强制您仅使用
sys.stdin.read???它真的在寻找你调用那个函数吗?!您意识到,input函数已经从标准中读取