Вероятно, проще всего случайным образом выбрать значение индекса, а не случайный выбор из списка, поскольку затем вы можете использовать item
, чтобы выбрать значение списка, и remove-item
, чтобы удалить его из исходного списка. Подробнее в комментариях:
turtles-own [list1Vals list2Vals]
to test
ca
let list1 [1 2 3 4 5]
crt 5 [
; Randomly choose an index based on the
; length of list1
let ind1 one-of range length list1
; Have the turtle choose from list1
; using that index
set list1Vals item ind1 list1
; Remove the indexed value from list1
set list1 remove-item ind1 list1
show ( word "I chose " list1Vals ". list1 is now: " list1 )
]
reset-ticks
end
test
выводит что-то вроде:
(turtle 1): "I chose 5. list1 is now: [1 2 3 4]"
(turtle 4): "I chose 4. list1 is now: [1 2 3]"
(turtle 0): "I chose 3. list1 is now: [1 2]"
(turtle 2): "I chose 2. list1 is now: [1]"
(turtle 3): "I chose 1. list1 is now: []"
или
(turtle 1): "I chose 1. list1 is now: [2 3 4 5]"
(turtle 0): "I chose 4. list1 is now: [2 3 5]"
(turtle 4): "I chose 2. list1 is now: [3 5]"
(turtle 3): "I chose 5. list1 is now: [3]"
(turtle 2): "I chose 3. list1 is now: []"