模拟非确定性有限状态机的递归函数

时间:2016-07-19 08:25:22

标签: python-2.7 recursion

我对下面的递归函数有疑问。给出一本字典

aria2c --enable-dht=true "magnet:?xt=urn:btih:2D2CAE6AC83800490327547053597BAFF6701C2F&dn=battlestar+galactica+season+1+s01+1080p+bluray+x265+hevc+aac+5+1+joy+utr&tr=udp%3A%2F%2Ftracker.publicbt.com%2Fannounce&tr=udp%3A%2F%2Fglotorrents.pw%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce"

和接受状态

edges = { (1, 'a') : [2, 3],
          (2, 'a') : [2],
          (3, 'b') : [4, 2],
          (4, 'c') : [5] }

此函数通过FSM找到有效路径:

accepting = [5] 

这段代码很好用。但最初,我已经附加了当前的访问权限(参见其他后的第二行)并将其输入到递归调用中。但是,这会引发语法错误:无法将str与无类型对象连接起来。

有人可以解释原因吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

NoneTypeNone对象的类型,它是一个表示没有值的对象。您无法将其添加到列表或其他对象。

由于我看不到更多代码,可能发生的事情是current未设置,因此它具有值None,当您尝试将其附加到列表时,您会得到那个错误。

将默认值分配给current,然后使用append运行代码。它应该工作。