簡體   English   中英

ValueError:值太多

[英]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返回一行輸入-字符串。 解析留給您。

input(..)返回一個字符串 字符串是可迭代的,因此您可以使用以下命令解包:

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

但前提是該字符串恰好包含兩個項目。 因此,對於字符串,這意味着該字符串恰好包含兩個字符。

但是,該代碼提示您要輸入兩個整數。 我們可以使用str.split()將字符串拆分為“單詞”列表。

然后,我們可以使用int作為函數執行map ping:

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 = map(int, input("Enter two comma separated numbers: ").split(','))
    sumProblem(a, b)
main()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM