Python 在一个简单的有限状态机中,错误:';int';对象是不可迭代的
我试图创建一个有限状态机来读取状态、转换和字符串。我正在尝试创建没有对象的对象。直到我的for循环,一切都正常。但是,循环一开始,我就会收到错误消息:Python 在一个简单的有限状态机中,错误:';int';对象是不可迭代的,python,int,fsm,Python,Int,Fsm,我试图创建一个有限状态机来读取状态、转换和字符串。我正在尝试创建没有对象的对象。直到我的for循环,一切都正常。但是,循环一开始,我就会收到错误消息: line 42, in <module> for I in len (Strings): TypeError: 'int' object is not iterable 我的不同文本文件包含: states.txt 状态2,1,0 状态3,0,1 状态4,1,0 transitions.txt 状态1,0,状态2 状
line 42, in <module>
for I in len (Strings):
TypeError: 'int' object is not iterable
我的不同文本文件包含:
- states.txt
- transitions.txt
- strings2.txt
i在范围内(len(Strings))
。Len返回一个整数,如13--中的13--需要类似向量的东西<代码>范围(13)提供一个向量[0,1,2,3,4,5,6,7,8,9,10,11,12]
问答题:为什么最后一个数字是12?你想要i在范围内(len(Strings))
。Len返回一个整数,如13--中的13--需要类似向量的东西<代码>范围(13)提供一个向量[0,1,2,3,4,5,6,7,8,9,10,11,12]
问答题:为什么最后一个数字是12?你需要将数字转换成字符串,因为你无法识别整型的第一个数字。因此str(1234)='1234''1234'[0]='1'你需要将数字转换成字符串,因为你无法识别整型的第一个数字。因此str(1234)='1234''1234'[0]='1'您试图迭代一个整数,它应该是
for I in range(len(Strings))
您试图迭代一个整数,它应该是
for I in range(len(Strings))
不能对整数进行迭代。我想你的意思是迭代一个
范围
对象范围(len(Strings))
。这将起作用,因为range
对象是一个iterable,而int
不是。您不能迭代整数。我想你的意思是迭代一个范围
对象范围(len(Strings))
。这将起作用,因为range
对象是一个iterable,而int
则不是。len(s)
为您提供一个整数,您无法对其进行迭代。如果要迭代字符串集合,请对字符串中的s使用 len(s)
为您提供一个整数,您不能对其进行迭代。如果要迭代字符串集合,请对字符串中的s使用 您不能迭代一个数字或任何其他单一对象,您需要一个类似列表的复合对象来完成此操作。在这种情况下,看起来你想要这个
for words in Strings:
for C in words:
...
你不能迭代一个数字或任何其他单一的对象,你需要一个复合对象,比如一个列表。在这种情况下,看起来你想要这个
for words in Strings:
for C in words:
...
len(Strings)
将返回一个整数-字符串的长度。你是说对于字符串中的i
可能吗?对于len中的i(字符串):
-->对于范围中的i(len(字符串)):
len(字符串)
将返回一个整数-字符串的长度。你是说字符串中的i可能是吗?对于len中的i(字符串):
-->对于范围中的i(len(字符串)):