if 循环在逻辑上不起作用!在 netlogo 中
if loop does not work logically! in netlogo
我有两个代理商,客户和厂家。这些海龟中的每一个都有许多变量,其中一些变量被定义为全局变量,以便能够分配给另一种类型的代理。我这样定义:如果在年底,产品 1 的购买量高于产品 2 和 3,则该产品在另外 3 家商店中销售。问题是循环在逻辑上不起作用。命令中定义的内容在 reporter 不正确时正在发生!!
ask manufacturers [
if (product1purchases > product2purchases) and (product1purchases > product3purchases) [
set storesavailability storesavailability + 3
set Brandd 1
set color red
]
为什么当for if定义的条件不成立时,执行命令?
谢谢
他们不是。您可以通过添加打印语句向自己证明这一点,如下所示:
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
]
]
我有两个代理商,客户和厂家。这些海龟中的每一个都有许多变量,其中一些变量被定义为全局变量,以便能够分配给另一种类型的代理。我这样定义:如果在年底,产品 1 的购买量高于产品 2 和 3,则该产品在另外 3 家商店中销售。问题是循环在逻辑上不起作用。命令中定义的内容在 reporter 不正确时正在发生!!
ask manufacturers [
if (product1purchases > product2purchases) and (product1purchases > product3purchases) [
set storesavailability storesavailability + 3
set Brandd 1
set color red
]
为什么当for if定义的条件不成立时,执行命令? 谢谢
他们不是。您可以通过添加打印语句向自己证明这一点,如下所示:
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
]
]