(代碼示例是蟒蛇)
讓我們假設我們有一個爲100百分比的列表:算法保持百分比清單,加起來爲100%
mylist = [2.0, 7.0, 12.0, 35.0, 21.0, 23.0]
MYLIST的某些值可能被改變,其他人必須保持固定。
假設前3個(2.0,7.0,12.0)必須保持固定,最後三個(35.0,21.0,23.0)可以更改。
fix = mylist[:3]
vari = mylist[3:]
的目標是增加一個新項目MYLIST,而總和(MYLIST)保持100.0和瓦里
項目保持自己的關係給對方。爲此,我們需要減去每個可變項目的一定百分比
百分比。例如:假設我們想將4.0添加到mylist。
使用醜陋的aproximation循環我發現我需要減去ca. 5.0634%
每個VARI項(一定比例= 5.0634)的:
adjusted =[]
for number in vari:
adjusted.append(number-(number*(5.0634/100.0)))
adjusted.extend(fix)
adjusted.append(4.0)
調整現在包含我期望的結果。
就像一個快速的問題,你是否將任何附加值視爲進入「修復」集或「vari」集,例如。你能改變你添加的任何值嗎? – chillysapien 2009-01-05 12:27:00
在追加到列表的過程中,要添加的值正在修復。它在mylist中的角色可能是修復或vari進一步操作。 – Titusz 2009-01-05 12:53:51