【发布时间】:2021-07-27 09:40:16
【问题描述】:
所以我在hacker earth练习,我必须在一行中输入两个输入,用空格隔开。 下面的代码是我使用的:
x, y = [x for x in input("Enter two value: ").split()]
它应该接受看起来像“2 5”的输入
它正在返回一个错误:
执行失败
ValueError : 没有足够的值来解包(预期 2,得到 1)
堆栈跟踪:
回溯(最近一次通话最后一次):
文件“/tmp/165461120/user_code.py”,第 13 行,在
x, y = [x for x in input("输入两个值:").split()]
ValueError: 没有足够的值来解包(预期 2,得到 1)
我想我理解的是,它将两个值作为单个字符串提供。如果是这样,我如何将它们分开并将它们转换为整数?
【问题讨论】:
-
这是有效的。你确定你没有在 5 之后输入额外的空格(比如 '2 5' ?)。除此之外,无需理解此代码:
.split()的返回已经是一个列表 - 只要您输入正确数量的元素,这些值将被分配给变量,如:x, y = input("...").split() -
如果你在输入行的 2 和 5 之间键入了一个制表符,你会得到那个确切的错误。再试一次并输入空格:)
标签: python-3.x input valueerror