如何找到一个数组的平均值并在一个数组中存储多个值

2024-09-29 21:58:31 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在数组中存储程序的多个结果?
对于数组中的每个人,我需要存储3个结果,但是每次我这样做时,程序运行时都会出现一个错误。在

当程序运行时,我找不到3个数组中每个人的平均分数。在

我是PYTHON新手。在

import operator 
print("if form1 enter x, if form2 enter y,if form 3 enter z")
print("to view all results enter allscore")
x={"guv":1,"jane":4,"adam":5,"luiz":8,"elizabeth":9,"paul":10,"guv":3}

sorted(x.items(), key=operator.itemgetter(1), reverse=True) #sorts x from high to low

sorted(x.items()) #sorts x alphabetically

y={"adrian":0,"anna":9,"david":7,"matt":10,"micheal":5}

sorted(y.items(), key=operator.itemgetter(1), reverse=True)

sorted(y.items())

z={"gus":6,"mohammed":6,"winston":9,"barry":9,"ping":3}

sorted(z.items(), key=operator.itemgetter(1), reverse=True)

sorted(z.items()) # 

allscore={} 

allscore.update(x) # to get data from array x
allscore.update(y) # to get data from array y
allscore.update(z) # to get data from array z
#stores all data in this array 

Tags: tokeyfromtruedataifitems数组
1条回答
网友
1楼 · 发布于 2024-09-29 21:58:31

如果要为每个用户存储多个值,可以使用tuples。在

scores = {
    "guv": (1, 2, 3),
    "jane": (4, 5, 6),
    "luiz": (7, 8, 9),
}

然后,您可以使用以下循环获得所有用户的平均值:

^{pr2}$

如果您想添加分数,请使用lists。在

按字母顺序打印分数:

for name in sorted(scores):
    print("Scores for " + name + ": " + str(scores[name]))

打印从最高平均值到最低平均值的分数:

averages = {
    name: sum(scores[name]) / len(scores[name])
    for name in scores.keys()
}
for name in sorted(averages, key=averages.get, reverse=True):
    print("Average score for " + name + ": " + str(averages[name]))

相关问题 更多 >

    热门问题