Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从多个字典中添加值以创建最终总收据_Python_Dictionary - Fatal编程技术网

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