NetLogo 每次从某个列表中获取不同的随机数
NetLogo get each time different random number from certain list
假设我有列表
let mylist [0 1 2 3]
我想从这个数组中生成随机数,它在每个报价中都与前一个不同。
示例:勾选一个 - 生成 0
勾选两个 - 生成 2
勾选三 - 生成 1
勾选四 - 生成 3
现在我有
let mylist [0 1 2 3]
let x one-of mylist
但是 returns 例如两个连续的报价 0.
有什么建议吗?谢谢。
一种方法是存储上次报价中使用的号码,将其与当前报价中选择的号码进行比较,如果相同则选择不同的号码。
globals [
previous_number
]
to generate
let current_number previous_number
let mylist [ 0 1 2 ]
while [ current_number = previous_number ] [
set current_number one-of mylist
]
set previous_number current_number
print current_number
end
假设我有列表
let mylist [0 1 2 3]
我想从这个数组中生成随机数,它在每个报价中都与前一个不同。
示例:勾选一个 - 生成 0 勾选两个 - 生成 2 勾选三 - 生成 1 勾选四 - 生成 3
现在我有
let mylist [0 1 2 3]
let x one-of mylist
但是 returns 例如两个连续的报价 0.
有什么建议吗?谢谢。
一种方法是存储上次报价中使用的号码,将其与当前报价中选择的号码进行比较,如果相同则选择不同的号码。
globals [
previous_number
]
to generate
let current_number previous_number
let mylist [ 0 1 2 ]
while [ current_number = previous_number ] [
set current_number one-of mylist
]
set previous_number current_number
print current_number
end