2013-10-10 17 views
0

對於這個簡單的表達式:元組/浮法算術在Python

polyResult = polyResult + poly[len(poly)-1:] 

我接收

TypeError: unsupported operand type(s) for +: 'float' and 'tuple' 

polyResult是浮子,所以我試圖元組值轉換爲浮子和接收的後續錯誤:

polyResult = polyResult + float(poly[len(poly)-1:]) 

float() argument must be a string or a number 

我也試過polyResult += float(poly[len(poly)-1:])沒有成功。

鑑於被調用的元組值是一個浮點數,我不明白爲什麼我收到一個錯誤,指出該值不是一個數字。我錯過了什麼?

+1

該表達式'聚[LEN(聚)-1:]'提取poly'的'的最後一個元素和把它包裝在元組。如果你只是想獲得元組的最後一項,請嘗試使用'poly [-1]'。無論如何,看看'poly'中存儲了什麼是有幫助的。 – mdml

+1

如果你試圖向一個元組的每個元素添加一個浮點數,你必須明確地做到這一點:'tuple(加數+我爲我在my_tuple)''。當然,這將返回一個浮動元組,而不是一個浮動元素。 (添加這個作爲註釋,因爲我不認爲這就是你想要的;你只想得到'poly'的最後一個元素。) – abarnert

+0

謝謝,我沒有意識到,當我從元組中調用索引:該值將以列表的形式到達。簡單地放下:確保調用只返回值並且表達式能夠解析。 – jmike

回答

4

想必

poly[len(poly)-1:] 

poly

也許你的意思是

poly[len(poly)-1] 

或者更簡單地說

poly[-1] 
0

是元組切出數組你尋找:

polyResult += sum (poly) 
+0

考慮擴大你的答案,向提問者解釋爲什麼這達到了預期的結果,可能鏈接到文檔。如此,這僅僅是有用的。 –