例如,我正在开发一个程序来获取商店中订购的商品总数。我为可用项目创建了一个名为menu的字典,但是如果订单列表中订购的项目不在我的词典“菜单”的键名范围之内,则应将该项目替换为Coke。
我的意图是将项目转换为它们的价格,这是字典中的相应值,然后进行必要的总计。
但是似乎像在示例中一样,爆米花并没有让步。请帮助。
a = ["Pizza", "Cheeseburger", "Water", "Popcorn"]
menu = {"Nachos":6,"Pizza":6,"Cheeseburger":10,"Water":4,"Coke":5}
for i in a:
if not i in menu:
i = "Coke"
print(a)
最佳答案
i
变量仅表示可迭代对象中的当前项,要替换数组中的值,可以使用其索引,enumerate
给出元组(index, element)
order = ["Pizza", "Cheeseburger", "Water", "Popcorn"]
menu = {"Nachos": 6, "Pizza": 6, "Cheeseburger": 10, "Water": 4, "Coke": 5}
for idx, item in enumerate(order):
if item not in menu:
order[idx] = "Coke"
print(order) # ['Pizza', 'Cheeseburger', 'Water', 'Coke']
但是您将在接下来寻找价格,您可以在同一张照片中完成
total = 0
for item in order:
total += menu.get(item, menu["Coke"]) # if item not present, get price of Coke
print(total)