if-statement - 如何以最小份额的价值要求特定份额的海龟?
问题描述
我已经在一个行业(世界)中建立了公司(海龟),这些公司要么在国内生产(公司位于 > ycor),要么将其生产转移到海外(离岸公司位于 < ycor)。我给他们一个叫offshored的公司自己的?答案是真或假。在设置时,他们还获得了公司自己的公司自动化水平,该自动化水平在 0 和 1 之间是随机的。
现在,我想让其中 30% 的企业自动化水平最低,以将生产转移到 < 0 ycor 并报告:离岸?= 真
breed [ firms firm ]
firms-own [
firm-level-of-automation ;; initially random between 0 and 1
offshored? ;; true or false
]
to go
tick
ask firms [
set firm-level-of-automation 0 + random-float 1
if min [ firm-level-of-automation ] of firms [
count firms * 0.3 firms [ setxy random-xcor random-between ( -10 ) -1 ;; distribute randomly abroad in an area < 0 ycor
set offshored? true ] ] ]
end
我不知道如何在这里最好地混合if
和min
命令。有什么建议么?
解决方案
不知道你为什么被否决,这似乎是一个明智的问题。无论如何,没有必要混合min
和if
,您可以简单地ask
使用较低值的 30% 的海龟来做您想做的事情。在字典中查找min-n-of
原语,你会想要类似的东西:
ask min-n-of (0.3 * count firms) firms [firm-level-of-automation]
[ setxy random-xcor random-between ( -10 ) -1
set offshored? true
]
推荐阅读
- c# - WCF Webservice 使用 Stream 传递 messagecontract 并将字符串返回给客户端
- blockchain - OS X 中外部 SSD 上的比特币核心
- python - 动态检索包目录的绝对路径
- firebase - 非谷歌服务器上的 Firebase 云功能
- typescript - 升级到 typescript 4.4.2 后如何修复“错误‘JSX’未定义 no-undef’
- user-interface - 为什么像 SwiftUI 或 Flutter/Dart 或 Compose/Kotlin 这样的 UI 系统使用声明式方法而不是命令式方法来定义 GUI?
- next.js - 如果所有代码看起来都正确,我该如何解决“Lighthouse 无法下载 robots.txt 文件”?
- streamlit - 尝试使用 streamlit run 在 streamlit 上运行文件时出现此错误,我该如何解决
- google-apps-script - 将 Google 表格中的图片通过电子邮件发送到 gmail
- sql - Codility SqlEventsDelta(计算每个事件类型的最新值和第二个最新值之间的差异)