用循环查找字典的平均值

Finding average of a dictionary with loop

stock={'meat':100,'fish':100,'bread':100, 'milk':100,'chips':100, 'apple':100,'orange':100, 'rice':100,'honey':100,'lemon':100}

totalstock = 0
totalitem=0
for item, value in stock.items():
    totalitem += value
    totalstock += value
    average = totalstock/totalitem

    print("average stock level :",average)

大家好,我一直在尝试计算这本字典的总和并找到它的平均值,但是我的代码有些问题,上面是我的代码。

我想要的输出是 "average stock level" : 100

提前致谢,我将不胜感激任何能得到的帮助

不用循环也可以:

stock={'meat':100,'fish':100,'bread':100, 'milk':100,'chips':100, 'apple':100,'orange':100, 'rice':100,'honey':100,'lemon':100}
_avgStock = int(sum(stock.values())/len(stock))  # sum up all values divide by amount of items.
print("Avg is: %s" % _avgStock)

输出:

Avg is: 100

这里好像有几处不对。

总库存和循环似乎还可以,但没有别的。

totalstock = 0
for value in stock.values():
    totalstock += value

average = totalstock/len(stock)

print("average stock level :",average)

你可以使用statistics模块,

from statistics import mean

print(f"Avg is : {mean(stock.values())}")

Avg is : 100