2014-09-11 75 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)不是可迭代的,它會引發錯誤。

相關問題