所以我试图在用户输入之后添加来自四个词典的值(这个程序在商店中需要不同类型的东西,所以我为四种类型的东西创建了四个词典),我就在这里我想创建一个最终的总数,但我有点难过关于如何添加(可能)所有四个词典的任何订购。其中包括销售税,但我并不特别担心这个问题。
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]))
只有完整程序代码的一部分。
答案 0 :(得分:0)
也许是这样的:
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