ValueError: too many values

ValueError: too many values

我正在学习 python 教程。我准确地输入了教程中的内容,但不会输入 运行。我认为问题在于教程使用了 Python 2,而我使用的是 Python 3.5。例如,本教程在打印后不使用括号,我必须使用它,它使用 raw_input 我只使用输入。

这就是我想要的 运行-

def sumProblem(x, y): 
    print ('The sum of %s and %s is %s.' % (x, y, x+y))


def main(): 
    sumProblem(2, 3) 
    sumProblem(1234567890123, 535790269358) 
    a, b = input("Enter two comma separated numbers: ") 
    sumProblem(a, b)


main()

这是我收到的错误:

ValueError: too many values to unpack (expected 2)

如果我只输入两个没有逗号的数字,它会将它们连接起来。我试图更改为整数,但出现此错误:

ValueError: invalid literal for int() with base 10: 

当我在这里搜索时,答案似乎不适用于我的问题,他们涉及的更多,或者我不明白。

您的输入应如下所示:

a, b = map(int, input('text:').split(','))

input returns 一行输入 - 一个字符串。解析就交给你了。

input(..)returns一个字符串。字符串是可迭代的,因此您 可以 解压它:

a, b = input("Enter two comma separated numbers: ") 

但前提是字符串恰好包含 两个 项。所以对于一个字符串,这意味着该字符串恰好包含两个字符。

不过,代码提示您要输入两个整数。我们可以使用 str.split() 将字符串拆分为 "words".

的列表

然后我们可以使用 int 作为函数执行 mapping:

def sumProblem(x, y): 
    print ('The sum of %s and %s is %s.' % (x, y, x+y))
def main(): 
    sumProblem(2, 3) 
    sumProblem(1234567890123, 535790269358) 
    a, b = <b>map(int, </b>input("Enter two comma separated numbers: ")<b>.split(','))</b>
    sumProblem(a, b)
main()