如果netlogo中还有elseif elseif

use*_*313 2 functional-programming if-statement netlogo

我想在netlogo中有一个if elseif else if else结构,但似乎目前它不起作用.

  ifelse random 100 < 68 [ set HBB-Genes "A,A" ];;68%
         [ifelse random 100 < 2  [set HBB-Genes "S,S"] ;;2%
         [ifelse random 100 < 15 [set HBB-Genes "A,A"];;15%
         [set HBB-Genes "A,A"] ;;15%


         ]]
Run Code Online (Sandbox Code Playgroud)

我希望有68%的几率发生HBB-Genes的"A,A",下一次发生的几率为2%,依此类推.如果有人有netlogo的经验,可以帮助它将非常感激.谢谢.

Set*_*sue 5

你只想挑选一个随机数,而不是几个.您可以使用let存储随机数,以便稍后参考.所以:

let chance random 100
ifelse chance < 68
  [ set HBB-Genes "A,A" ]
  [ ifelse chance < 70
      [ set HBB-Genes "S,S" ]
      [ ifelse chance < 85
          ...
Run Code Online (Sandbox Code Playgroud)

等等.