Python 查找具有循环的字典的平均值
大家好,我一直在努力计算这本字典的总和,并找到它的平均值,但我有一些麻烦与我的代码,以上是我的代码 我期望的输出是“平均库存水平”:100Python 查找具有循环的字典的平均值,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
提前非常感谢,我将感谢您对我的任何帮助。您无需循环即可完成:
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