我試圖找到廚房(18.0)和臥室面積(10.75)的總和# Create the areas list areas = ["hallway", 11.25, "kitchen", 18.0, "living room", 20.0, "bedroom", 10.75, "bathroom", 9.50] # Sum of kitchen and bedroom area: eat_sleep_area eat_sleep_area = sum(areas[3],areas[-3]) # Print the variable eat_sleep_area print(eat_sleep_area)但是當我嘗試運行代碼時,它說: TypeError: 'float' object is not iterable 另外我觀察到,當我使用 min,max 等其他函數時,它工作得很好,誰能解釋一下原因?
5 回答

幕布斯7119047
TA貢獻1794條經驗 獲得超8個贊
在 Python 中sum(iterable[, start])
需要 iterable 作為第一個參數。考慮將您的參數包裝在如下列表中:
sum([areas[3],areas[-3]])

拉風的咖菲貓
TA貢獻1995條經驗 獲得超2個贊
對于這種事情,您需要使用字典,而不是列表:
areas = {
'hallway': 11.25,
'kitchen': 18.0,
'living room': 20.0,
'bedroom': 10.75,
'bathroom': 9.50,
}
然后你可以像這樣總結它們:
result = areas['kitchen'] + areas['bedroom']
字典允許按鍵查找。查看文檔了解更多信息。

肥皂起泡泡
TA貢獻1829條經驗 獲得超6個贊
可以sum用add操作符代替
from operator import add
eat_sleep_area = add(areas[3],areas[-3]) # if you have only two entities to add otherwise use sum and pass an iterator
或總和
eat_sleep_area = add([areas[3],areas[-3]])
添加回答
舉報
0/150
提交
取消