Also ich möchte alle Werte zusammen zählen, um eine totalItems var, die unter der Liste gedruckt wird. Die Ausgabe gibt mir 5 statt alles gegen oben zu sein. Kann mir jemand erklären warum, nicht nur den richtigen Code geben.Python Count Gesamtzahl Elemente im Wörterbuch
stuff = {'coins': 5, 'arrows': 42, 'rope': 1}
def getInvent(inventory):
itemTotal = 0
print('Inventory:')
print(str(stuff['coins']) + ' Coins')
print(str(stuff['arrows']) + ' Arrows')
print(str(stuff['rope']) + ' Rope')
for k, v in stuff.items():
itemTotal = itemTotal + v
print('Total number of items: ' + str(itemTotal))
return itemTotal
getInvent(stuff)
Haben Sie den Code gelesen und befolgt, was es tut? –
Es gibt Einrückungsprobleme mit Ihrem Code. 'return itemTotal' befindet sich innerhalb der for-Schleife und daher wird nach der ersten Iteration' 5' zurückgegeben und Rest wird nicht gezählt. Ein einfacherer Code wäre - 'sum (stuff.values ())'. –