0
以下過程旨在從多個海龜中選擇一個「顧客」並將其顏色更改爲白色。基於海龜的財富,選擇是概率性的。netlogo錯誤在長度列表x中找不到元素x
運行此代碼,特別是行item i ranking-in-radius
我收到了一條類似如下的錯誤消息:「cannot find element 43 in list...(shows list of turtles' wealth)... which is only of length 43.
」我知道我收到此錯誤,因爲列表從0開始,因此43個元素的列表從0到42,但我不明白爲什麼我寫的代碼不正確。我的i
開始於0
,如果i
不是<
而不是查詢的海龜數量(即應停止在42),程序將停止。任何人都可以提出解決方案謝謝!
to choose-patron
let i 0
let patrons-in-radius count turtles in-radius radius with [wealth >= 80]
let ranking-in-radius sort-by > [wealth] of turtles in-radius radius with [wealth >= 80]
let total-wealth-in-radius sum [wealth] of turtles in-radius radius with [wealth >= 80]
while [i < (patrons-in-radius)][
ask turtles in-radius radius with [wealth >= 80] [
if [wealth] of self = item i ranking-in-radius [
if random 100 < ((wealth/total-wealth-in-radius) * 100) [
set color white
if any? turtles in-radius radius with [color = white] [stop]
]
set i (i + 1)
]
]
]
end