Python 从多个字典中添加值以创建最终总收据
因此,在用户输入后,我尝试从四个字典中添加值(这个程序需要商店中的不同类型的东西,所以我为四种类型的东西创建了四个字典),我现在想创建一个最终的总数,但对于如何添加订购的东西(潜在的)我有点困惑全部四本字典。其中必须包括销售税,但我并不特别担心这个问题Python 从多个字典中添加值以创建最终总收据,python,dictionary,Python,Dictionary,因此,在用户输入后,我尝试从四个字典中添加值(这个程序需要商店中的不同类型的东西,所以我为四种类型的东西创建了四个字典),我现在想创建一个最终的总数,但对于如何添加订购的东西(潜在的)我有点困惑全部四本字典。其中必须包括销售税,但我并不特别担心这个问题 drinks_list = [] drinks_list = sorted(drinks_dict.items(), key = lambda x: x[1][1], reverse = True) if drinks_list: pri
drinks_list = []
drinks_list = sorted(drinks_dict.items(), key = lambda x: x[1][1], reverse = True)
if drinks_list:
print("Drinks")
for item in drinks_list:
if item[1][2] > 0:
print("Selection: %s, Cost: %.2f, Ordered: %i "%(item[1][0], item[1][1], item[1][2]))
salads_list = []
salads_list = sorted(salads_dict.items(), key = lambda x: x[1][1], reverse = True)
if salads_list:
print("Salads")
for item in salads_list:
if item[1][2] > 0:
print("Selection: %s;;; Cost:%.2f;;; OrderCount:%i "%(item[1][0], item[1][1], item[1][2]))
sandwiches_list = []
sandwiches_list = sorted(sandwiches_dict.items(), key = lambda x: x[1][1], reverse = True)
if sandwiches_list:
print("Sandwiches")
for item in sandwiches_list:
if item[1][2] > 0:
print("Selection: %s;;; Cost:%.2f;;; OrderCount:%i "%(item[1][0], item[1][1], item[1][2]))
desserts_list = []
desserts_list = sorted(desserts_dict.items(), key = lambda x: x[1][1], reverse = True)
if desserts_list:
print("Desserts")
for item in desserts_list:
if item[1][2] > 0:
print("Selection: %s;;; Cost:%.2f;;; OrderCount:%i "%(item[1][0], item[1][1], item[1][2]))
只有完整程序代码的一部分。可能是这样的:
def add_up(items, name):
items_list = sorted(items.items(), key = lambda x: x[1][1], reverse = True)
if items_list:
print(name)
for item in items_list:
if item[1][2] > 0:
print("Selection: %s, Cost: %.2f, Ordered: %i "%(item[1][0], item[1][1], item[1][2]))
return item[1][1]*item[1][2]
total = 0
order = {'Drinks':drinks_dict, 'Salads':salads_dict, 'Sandiwches':sandwiches_dict, 'Desserts':desserts_dict]
for o in order:
total += add_up(order[o], o)
print "Total cost = %.2f" % total