记录客人带来的食物的总数-用Python自动化无聊的东西-chapter5

当您模拟更复杂的事情时,您可能会发现需要包含其他字典和列表的字典和列表。列表可用于包含一系列有序的值,并且字典对于将键与值相关联很有用。例如,这是一个使用包含其他字典的字典的程序,以查看谁带来了野餐。该totalBrought()功能可以读取此数据结构,并计算所有客人所携带的物品的总数。

提示:应用到字典中嵌套字典,get()获取。

源代码:

allGuests = {'Alice': {'apples': 5, 'pretzels': 12},
                'Bob': {'ham sandwiches': 3, 'apples': 2},
                'Carol': {'cups': 3, 'apple pies': 1}}

def totalBrought(guests, item):
       numBrought = 0
       for k, v in guests.items():
           numBrought = numBrought + v.get(item, 0)
       return numBrought

print('Number of things being brought:')
print(' - Apples         :' + str(totalBrought(allGuests, 'apples')))
print(' - Cups           :' + str(totalBrought(allGuests, 'cups')))
print(' - Cakes          :' + str(totalBrought(allGuests, 'cakes')))
print(' - Ham Sandwiches :' + str(totalBrought(allGuests, 'ham sandwiches')))
print(' - Apple Pies     :' + str(totalBrought(allGuests, 'apple pies')))

输入结果:
Number of things being brought:

 - Apples         :7
 - Cups           :3
 - Cakes          :0
 - Ham Sandwiches :3
 - Apple Pies     :1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值