2017-03-22 275 views
-4

我的代碼的功能分裂()得到了一個錯誤與蟒蛇

ValueError: too many values to unpack

我該怎麼辦,以解決這一問題?

num_fite,town_sorse,exsit_dayt,exsit_time,destnithon_town,lend_houer,mill,price,name,famliy,titel = raw_input("Enter anorgnized here: ").split() 

我進入這個

EL-783 TLV 07APR 2315 NYC 08APR 1145 VEG $656 EMMA STONE Ms. 

但我得到這個錯誤

Traceback (most recent call last): File "", line 1, in ValueError: too many values to unpack 
+2

歡迎來到StackOverflow。正確格式化您的問題會增加獲得正確反饋的機會。 – xtofl

+0

輸入分爲12個元素,但分配左側只有11個變量。我相信你忘記了'08APR'的變量。 –

回答

0

從拆分開箱結果()操作需要用空格隔開10個字,你給它10變量。然而,你提供的字符串有11個字,所以太多了。

看着變量,我懷疑你忘了添加一個「lend_dayt」變量。

0

您的代碼實際上需要11個值(根據您定義的變量數量),但是您僅在您的輸入中傳遞10個值。

您預計11個變量被你輸入填寫:

num_fite,town_sorse,exsit_dayt,exsit_time,destnithon_town,lend_houer,磨,價格,名稱,薔薇科植物,性標題

你給他們10個輸入可劈裂:

EL-783 TLV 07APR 2315 NYC 08APR 1145 VEG $ 656 EMMA STONE女士

0

split函數將返回一個tuple。在這種情況下,將有12個條目(輸入字符串中包含12個單詞)。

語法

the_tuple = "a b".split() 
a, b = the_tuple 

將「解壓」的元組的元素融入到所提供的變量。如果變量在左側的數量不匹配的元組元素的數量,你會得到一個錯誤:

a, b, c = (1, 2) # not enough values to unpack 
a, b, c = (1, 2, 3, 4) # too many values to unpack 

這裏是你的情況:

In [3]: len("EL-783 TLV 07APR 2315 NYC 08APR 1145 VEG $656 EMMA STONE Ms.".split()) 
Out[3]: 12 

奈斯利格式化你的代碼真的有助於避免這些錯誤。