我对从文本文件中排序数据有一半的问题。我想从3个加权数字中找出平均值,并打印出特定平均值所属文本文件中的哪个名称。Python,排序平均值
我设法做到了这一点的最高平均水平,但我有几个问题找到最低的平均水平。
来自文件的示例文本。
Shoes 210 130 67
Bags 167 321 459
文本文件中的位置0是部门的名称。文件中的位置1是“好评”。位置2'公平投票'。位置3'差投票'。
列表中最高盘是鞋,平均而言为2.351,排名中最低的是袋子,平均数为1.692。
我已经定义了一个函数来计算平均值,并调用它没有任何问题的最高平均水平。
highestAverage = 0
highestAvgDepName = 0
if choice2 == 1:
calculateAverage(allDepartments,choice2)
for x in range (10):
if highestAverage < calculateAverage(allDepartments, x):
highestAverage = calculateAverage(allDepartments, x)
highestAvgDepName = x
我唯一的问题是得到这个找到最低的平均值。我已经尝试创建一个计算平均值的新函数,并将其乘以-1,将所有数字都转为负数,技术上这应该是最大的-1.692,但它会抛出55. ***。
我已经看着泡沫排序,但是,我不明白如何从文本文件做到这一点。
def calculateAverage(allDepartments, choice2):
total = allDepartments[choice2][1] + allDepartments[choice2][2] + allDepartments[choice2][3]
return((allDepartments[choice2][1]*3 + allDepartments[choice2][2]*2 + allDepartments[choice2][3])/total)
我尝试了颠倒操作符,但它给了我一个错误的部门,平均值为0.000 –
您可以发布calculateAverage的代码吗? –
@ s.kelly你可以将它发布在你的问题的可读性? – SirParselot