- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我必须制作具有 epsilon 转换的非确定性有限自动机。我更像是一个 c、c#、JavaScript 的人,但我的大学出于某种原因认为 python 是唯一的出路,所以今天我学习了 python,但显然还不够。
无论如何。问题出在“automaton
”函数中。我用带有一个元素的初始状态列表(stanje1
)和自动机必须读取的字符数组(inputArrays[0]
)以及定义转换函数的字典(字典键是字符串currentState,inputCharacter
,值是下一个数组)来调用它州)。
第一次迭代运行良好,但是当我想递归检查我通过 epsilon 转换获得的所有状态与下一个字符时,我得到错误:
TypeError: 'NoneType' object is not iterable
调用自动机递归时所有参数的定义与 top 调用类似,但错误会以某种方式跳出。
这是 link to my code ,以及 defines automaton 的测试文件(你需要像这样运行它 myScript.py < automaton.txt
)。此外,这是一份完整的错误报告:
C:\Users\Jinx\Desktop\UTRLabos1>sim.py < test.txt
['stanje1']
['st6']
Traceback (most recent call last):
File "C:\Users\Jinx\Desktop\UTRLabos1\sim.py", line 50, in <module>
print(automaton(['stanje1'], inputArrays[0], transitionFunction))
File "C:\Users\Jinx\Desktop\UTRLabos1\sim.py", line 45, in automaton
if estates : other = automaton(estates, ir[1:], fn)
File "C:\Users\Jinx\Desktop\UTRLabos1\sim.py", line 37, in automaton
states += eNKA(s, ir[0], fn)
TypeError: 'NoneType' object is not iterable
最佳答案
您的提示是崩溃发生在这一行:
states += eNKA(s, ir[0], fn)
而不是在 eNKA
函数的更深处。您可能怀疑此行中的内容是 None
,而不是可迭代对象。 ir
不可能是 None
因为你之前检查过这种可能性,所以 eNKA
的返回值一定是 None
(并且您正在有效地执行 states += None
)。
其实是这样的。 eNKA
不会在所有可能的情况下返回
一个值,这可能会导致返回默认值 None
。
因此,解决方法是查看为什么 eNKA
中的每个 if
条件都失败,并适本地修复它(或者如果每个条件都失败则返回更明智的东西)。
关于Python 不确定性 epsilon authomaton : object is not iterable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23022164/
我有一个非常简单的目标:编译一个 Scala 类,然后从另一个 Scala 脚本中加载它。问题是 Scala 似乎缓存了(不确定在哪里)我创建的类,并且不尊重后续更改。 以下几行创建一个包含两个 .s
我在 WebSphere 上运行的 Java EE 应用程序发生了一种非常非常奇怪的情况。 EAR --someJar.jar ----config/propfile.properties
我在使用 python 不确定性包时遇到了困难。我必须用python评估实验数据,我已经这样做了一段时间但从未遇到以下问题: >>>from uncertainties import ufloat >
我有phabricator设置。作为 git 的新手,确保我自己的配置文件(可能还有其他文件中的一些 hack)与来自上游的配置文件共存的理智/正确方法是什么? 最佳答案 将您的更改保存在单独的分支上
我今天花了一些时间,试图制作我的第一个 maven 管理的 Google 应用引擎 1.5.4 + GWT 2.4.0 构建。 我终于进入了所有内容都可以编译并且 gae:run 目标起作用的阶段。这
在类中,您可以在其中创建字段,如以下示例中的 int bar 。 Class foo{ int bar; foo(int bar){ bar = bar; }
我正在尝试运行我的程序,但在几次运行中我遇到了一个错误: terminate called after throwing an instance of 'std::system_error' wh
我必须制作具有 epsilon 转换的非确定性有限自动机。我更像是一个 c、c#、JavaScript 的人,但我的大学出于某种原因认为 python 是唯一的出路,所以今天我学习了 python,但
你怎么得到sklearn's SGDClassifier以显示其预测的不确定性? 我正在尝试确认 SGDClassifier 将报告不严格对应于任何标签的输入数据的概率为 50%。但是,我发现分类器始
下面是我导出的 java headless selenium 测试用例代码,可以在 IDE 中正常运行。 package pack; import java.util.regex.Pattern; i
我是一名优秀的程序员,十分优秀!