2017-06-14 55 views
-4

我從techer那裏得到了代碼。我不是gettign輸出。什麼是錯誤。它已經超出索引。我不明白請幫忙。這是什麼毛病,我一直在掙扎很久?

def something(tu): 
     ch='a' 
     for i in tu: 
     tu[i]=ch 
     ch+='a' 
    l=[1,4,2,3,8] 
    something(l) 
    for i in l: 
     print(i) 
    print("The end!") 

的expted輸出

a 
    aa 
    aaa 
    aaaa 
    aaaaa 
    The end! 

謝謝

+0

你的縮進是錯誤的,函數沒有返回任何東西.. –

回答

0

您需要進行更改Python代碼,這裏是改變一個:

def something(tu): 
    ch='a' 
    for i in range(len(tu)): 
     tu[i]=ch 
     ch+='a' 
l=[1,4,2,3,8] 
something(l) 
for i in l: 
    print(i) 
print("The end!") 

原因你可能會出錯,您的列表中有8個。但是列表的最大長度只有5個。所以在那裏改變我。或者將8更改爲0.它也可以工作。指數超出界限。我也改變了縮進。

+0

你可以強調'爲我在tu'迭代元素本身,而'我在範圍內(len(tu))'遍歷*指數*。通常情況下,你會使用'for index',而不是tu'中的元素,因爲它被認爲是pythonic。有關更多詳細信息,請參閱[本答案](https://stackoverflow.com/a/522578/6725184)。 –