您可以使用列表解析来获取ordered_items 中项目的菜单价格,请注意您为ordered_items 创建的结构是set 而不是字典。
menu_items = {
'nulla aliquam': 15.00,
'malesuada': 14.00,
'feugiat ipsum': 9.00,
'maecenas': 12.00,
'fermentum mass': 23.00
}
ordered_items = {
'maecenas',
'pizza',
'malesuada'
}
totalPrice = sum([v for k,v in menu_items.items() if k in ordered_items])
print(totalPrice)
输出:
26.0
列表推导是执行以下 for 循环的更好方法:
编辑为您指定订单中每个项目的打印。
total_price = 0
for item in ordered_items:
if item in menu_items:
print(f"{item} : ${menu_items[item]} ")
total_price += menu_items[item]
else:
print(f"Sorry, we don't have {item}")
print(f'Total : ${total_price}')
输出:
maecenas : $12.0
抱歉,我们没有披萨
malesuada : $14.0
总计:$26.0
要将所有这些都打印在一行上,请将每个语句附加到每个循环的一个字符串并在末尾打印:
total_price = 0
printString = ''
for item in ordered_items:
if item in menu_items:
printString += f"{item} : ${menu_items[item]} "
# print(f"{item} : ${menu_items[item]} ")
total_price += menu_items[item]
else:
# print(f"Sorry, we don't have {item}")
printString += f"Sorry, we don't have {item} "
#print(f'Total : ${total_price}')
printString += f"Total : ${total_price} "
print(printString)
输出:
maecenas : $12.0 抱歉,我们没有披萨 malesuada : $14.0 总计 : $26.0