Python 在一个简单的有限状态机中,错误:';int';对象是不可迭代的

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 状

我试图创建一个有限状态机来读取状态、转换和字符串。我正在尝试创建没有对象的对象。直到我的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 状态2,1,状态3 状态3,0,状态4

  • strings2.txt
10100101 1001 10010

您希望
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(字符串)):