[英]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:
當我在這里搜索時,答案似乎不適用於我的問題,他們參與的程度更多,或者我聽不懂。
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.