【发布时间】:2017-02-25 15:06:43
【问题描述】:
假设我有列表
let mylist [0 1 2 3]
我想从这个数组中生成随机数,它在每个刻度中都与前一个不同。
示例:勾选 1 - 生成 0 勾选二 - 生成 2 勾选三 - 生成 1 勾选四 - 生成 3
现在我有
let mylist [0 1 2 3]
let x one-of mylist
但这会返回例如两个连续的刻度数 0。
有什么建议吗?谢谢。
【问题讨论】:
假设我有列表
let mylist [0 1 2 3]
我想从这个数组中生成随机数,它在每个刻度中都与前一个不同。
示例:勾选 1 - 生成 0 勾选二 - 生成 2 勾选三 - 生成 1 勾选四 - 生成 3
现在我有
let mylist [0 1 2 3]
let x one-of mylist
但这会返回例如两个连续的刻度数 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
【讨论】: