[英]Printing Total Values in Dictionary
我是pythonista的初学者,目前在这里遵循指南。 我正在第5章的嵌套字典和列表一节中查看一段代码。 我从代码中删除了一些内容,它显示在下面:
allGuests = {'Carol': {'cups': 3, 'apple pies': 1}, 'Tom': {'cups': 4, 'juice': 4}}
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(' - Cups being brought ' + str(totalBrought(allGuests, 'cups')))
以下是上述代码的输出:
Number of things being brought:
- Cups being brought 3
Process finished with exit code 0
上面的代码应该完成的工作是打印出Carol和Tom带来的杯子总数。 相反,它仅打印出Carol带来的杯子。 预期的输出应如下所示:
Number of things being brought:
- Cups being brought 7
Process finished with exit code 0
我在这里看了一个示例,然后自己尝试了一下,但这不是我所需要的。 我试图了解代码的问题以及如何在嵌套字典中正确输出相同的总值。
问题在于return语句的缩进:
allGuests = {'Carol': {'cups': 3, 'apple pies': 1}, 'Tom': {'cups': 4, 'juice': 4}}
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(' - Cups being brought ' + str(totalBrought(allGuests, 'cups')))
输出:
Number of things being brought:
- Cups being brought 7
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.