• kd的程序小设计


    其实开始书本的题目做完后是这样的:
    allguests = {'Alce':{'apples':5,'pretzels':12,},
    'Bob':{'ham sandwiches':4,'apples':2,},
    'Carol':{'cups':4,'apples ples':1},
    def totalBrought(guest, item):
    numBrought = 0
    for k,v in guest.items():
    numBrought = numBrought + v.get(item,0)
    return numBrought
    print('Apple - ',totalBrought(allguests,'apples'))                     
    print('orange - ',totalBrought(allguests,'orange'))          
    print('Ham sandwiches - ',totalBrought(allguests,'ham sandwiches'))
    print('Cups - ',totalBrought(allguests,'cups'))
    #这个程序是需要提前自己输入食品的名称才能把食品总计出来,如果没有带的食品也就是字典里没有的,输入进去也会打印出来,只不过数量为0
    后来我自己就用目前所学的知识,做一个只要把食品清单输入进去,自动就统计好打印出来,就做成下面这样:
    # Author kd han
    # encoding: utf-8

    allguests = {'Alce':{'apples':5,'pretzels':12,},
    'Bob':{'ham sandwiches':4,'apples':2,},
    'Carol':{'cups':4,'apples ples':1},
    }

    def totalBrought(itme):
    Brought ={} #建立一个存放总计的字典
    for i, k in itme.items(): #先取出字典中的信息
    for name,n in k.items(): #取出嵌套字典的信息
    Brought.setdefault(name,0) #在总计的字典为每一个食品建一个键
    Brought[name] = Brought[name] + n #每种食品的数据相加
    for i in Brought.keys(): #打印出每种食品的数量
    print(i,Brought[i])

    totalBrought(allguests)
  • 相关阅读:
    三个习题
    20 python--celery
    19 python --队列
    18 python --多线程
    17 python --多进程
    16 python --memcached
    15 python --redis
    14 python --mysql
    13 python --正则
    12 python --json
  • 原文地址:https://www.cnblogs.com/222kd/p/8384905.html
Copyright © 2020-2023  润新知