if循环在逻辑上不起作用!在netlogo中

时间:2017-02-12 23:04:13

标签: if-statement netlogo

我有两个代理商,客户和制造商。这些海龟中的每一个都有许多变量,其中一些变量被全局定义为能够被分配给另一种类型的代理。我已经定义了这个:如果在年底,产品1的购买量高于产品2和3,那么该产品将分布在另外3家商店中。问题是循环在逻辑上不起作用。当记者不是真的时,命令中定义的内容正在发生!!

ask manufacturers [ 
 if (product1purchases > product2purchases) and (product1purchases > product3purchases) [



set storesavailability storesavailability + 3
  set Brandd 1
  set color red
 ]

为什么当if中定义的条件不为真时,执行命令? 感谢

1 个答案:

答案 0 :(得分:0)

他们不是。您可以通过添加打印语句来证明这一点,如下所示:

ask manufacturers [ 
  let _cond ((product1purchases > product2purchases) and (product1purchases > product3purchases))
  print (word "_cond is " _cond)
  if (_cond) [
    print (word "within branch, _cond is " _cond)
    set storesavailability storesavailability + 3
    set Brandd 1
    set color red
  ]
]