记录客人带来的食物的总数-用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

猜你喜欢

转载自blog.csdn.net/u010363932/article/details/66099105
今日推荐