python 购物车报错

报错 发生异常: TypeError list indices must be integers or slices, not dict

其中name['cost_performance']=int(input("性价比"))为正确使用方法,goods[name]['usability']=int(input("实用性"))报错。

goods = [ {'name': '狐狸小王子周边卡通吊坠', 'price': 8.9, 'count': 100}, 
      {'name': '《银河系搭车指南五部曲》', 'price': 87.5, 'count': 100},
]
def mark_point():
    for name in goods:
        name['cost_performance']=int(input("性价比"))
        goods[name]['usability']=int(input("实用性"))
        goods[name]['likeness']=int(input("喜欢程度"))

列表goods中存放着每一个商品信息组成的字典类型。在该循环中,外面的取出的name就是一个字典,通过键值对来取内容即可。

def mark_point():
    for name in goods:
        print(goods[0])
        print(name)
        name['cost_performance']=int(input("性价比"))

mark_point()
  • 输出:

{‘name’: ‘狐狸小王子周边卡通吊坠’, ‘price’: 8.9, ‘count’: 100}

{‘name’: ‘狐狸小王子周边卡通吊坠’, ‘price’: 8.9, ‘count’: 100}

性价比

你可能感兴趣的:(python)