Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 查找具有循环的字典的平均值_Python_Dictionary_Average - Fatal编程技术网

Python 查找具有循环的字典的平均值

Python 查找具有循环的字典的平均值,python,dictionary,average,Python,Dictionary,Average,大家好,我一直在努力计算这本字典的总和,并找到它的平均值,但我有一些麻烦与我的代码,以上是我的代码 我期望的输出是“平均库存水平”:100 提前非常感谢,我将感谢您对我的任何帮助。您无需循环即可完成: stock={'meat':100,'fish':100,'bread':100, 'milk':100,'chips':100, 'apple':100,'orange':100, 'rice':100,'honey':100,'lemon':100} totalstock = 0 total

大家好,我一直在努力计算这本字典的总和,并找到它的平均值,但我有一些麻烦与我的代码,以上是我的代码

我期望的输出是“平均库存水平”:100


提前非常感谢,我将感谢您对我的任何帮助。

您无需循环即可完成:

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)
输出:

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)

for循环中的
totalitem+=1
将为您提供所需的结果。实际上,您将两个相等的数字相除,强制平均值始终为一,这对于循环来说是可以避免的:
print(f'average stock level:{np.mean(list(stock.values()))}')
from statistics import mean

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

Avg is : 100