繁体   English   中英

在字典中打印总值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM