【问题标题】:Python Mesa Error in advanced tutorial visualization高级教程可视化中的 Python Mesa 错误
【发布时间】:2019-08-18 13:47:51
【问题描述】:

我正在关注 python mesa (http://mesa.readthedocs.io/en/latest/index.html) 的教程,但我无法从高级教程 (http://mesa.readthedocs.io/en/latest/tutorials/adv_tutorial.html) 中获得可视化并运行。

我遇到麻烦的代码:

server = ModularServer(SwarmportModel, 
                   [grid], 
                   "SwarmportModel", 
                   100, 10, 10)

我得到的错误:

server = ModularServer(SwarmportModel, [grid], "SwarmportModel", 100, 10, 10)

TypeError: __init__() takes from 3 to 5 positional arguments but 7 were given

当我在我提到的代码的最后一行中省略了 3 个参数时,我收到了缺少 3 个参数的错误消息。

server = ModularServer(SwarmportModel, [grid], "SwarmportModel",)
TypeError: __init__() missing 3 required positional arguments: 'N', 'width', and 'height'

有人知道我做错了什么吗?

【问题讨论】:

  • 可能最后三个参数可以放在一个元组或列表中。我不熟悉mesa,但您遇到的错误是抱怨提供了太多参数。尝试server = ModularServer(SwarmportModel, [grid], "SwarmportModel", (100, 10, 10)) 作为初学者。
  • 感谢提示,已经尝试了其他一些想法,也制作了一个元组。仅供参考,元组的错误是:AttributeError: 'tuple' object has no attribute 'items'
  • 通过制作字典解决了问题:dict = {'N':100,'width':10,'height':10}

标签: python visualization mesa-abm


【解决方案1】:

我似乎遇到了同样的问题,他们说我运行的是过时的版本,但我没有验证: https://github.com/projectmesa/mesa/issues/397

server = ModularServer(SwarmportModel, [grid], "SwarmportModel", {"N": 100, "width": 10, "height": 10})

在任何情况下,dict 解决方法都有效。

【讨论】:

    猜你喜欢
    • 2020-07-24
    • 1970-01-01
    • 2012-02-03
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-19
    相关资源
    最近更新 更多