我想在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%


         ]]


我希望有68%的机会出现带有“ A,A”的HBB基因集,而下一个有2%的机会出现,依此类推。如果有人有netlogo的经验并可以提供帮助,将不胜感激。谢谢。

最佳答案

您只想选择一个随机数,而不是几个。您可以使用let存储随机数,以便以后使用。所以:

let chance random 100
ifelse chance < 68
  [ set HBB-Genes "A,A" ]
  [ ifelse chance < 70
      [ set HBB-Genes "S,S" ]
      [ ifelse chance < 85
          ...


等等。

关于if-statement - 如果elseififif,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20330124/

10-10 16:26