我试图找到厨房(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
提交
取消