我對從文本文件中排序數據有一半的問題。我想從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