【问题标题】:NetLogo get each time different random number from certain listNetLogo 每次从某个列表中获取不同的随机数
【发布时间】: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。

有什么建议吗?谢谢。

【问题讨论】:

    标签: random netlogo


    【解决方案1】:

    一种方法是存储上一个刻度中使用的数字,将其与当前刻度中选择的数字进行比较,如果相同则选择不同的数字。

    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
    

    【讨论】:

      猜你喜欢
      • 2023-02-24
      • 2020-12-29
      • 1970-01-01
      • 1970-01-01
      • 2015-08-22
      • 2018-10-19
      • 2022-11-28
      • 1970-01-01
      • 2023-03-11
      相关资源
      最近更新 更多