2014-09-11 187 views
0

我不断收到错误'int'对象不可迭代,但我无法弄清楚为什么,有什么建议?'int'对象在Python中不可迭代

def printMatching(seq1, seq2): 
is_match = [] 
if len(seq1) < len(seq2): 
    short_seq = seq1 
else: 
    short_seq = seq2 
for i in len(short_seq): 
    if seq1(i) == seq2(i): 
     is_match.append(true) 
    else: 
     is_match.append(false) 

def main(): 
    seq1 = "abaababb" 
    seq2 = "aabbaababa" 
    printMatching(seq1, seq2) 
+0

'对于我在len(short_seq)'是错误的。一个人不能*重复*一个数字。它只是个数字。使用'for range in(num)'来迭代'[0..n]'或者直接迭代序列。在这种情况下,我怀疑使用['zip'](https://docs.python.org/3/library/functions.html#zip)和/或理解是有用的。 – user2864740 2014-09-11 03:37:13

回答

3
for i in range(len(short_seq)) 

您目前正在遍历一个单一的数字,这是不允许的。范围(int)从[0,输入)创建一个值列表。

0
for i in len(short_seq): 

此行有错误。你需要像

for i in range(len(short_seq)): 

我在 - 这基本上检查我在一个迭代。由于len(short_seq)不是可迭代的,它会引发错误。

相关问题