def kindDetector(list):
for i in range(0,len(list)):
if type(list[i]) != type('a'):
return 0
return 1
def findWords(list,i):
if i == 0:
return list[0]
if list[i] < findWords(list,i-1):
return list.pop(i)
else:
return list.pop(i-1)
def sortWords(list,i):
result=[]
while i >= 0:
result.append(findWords(list,i))
i -=1
print(result)
list = input('Enter your words, with a space between.\t').split()
i = len(list)-1
if kindDetector(list):
sortWords(list,i)
但在這裏我只能進入2個字時,我用3此嘗試它發生:Python的IndexError處理
Traceback (most recent call last):
File "C:/Users/honey/Desktop/python/selfMade/sortWords.py", line 26, in <module>
sortWords(list,i)
File "C:/Users/honey/Desktop/python/selfMade/sortWords.py", line 18, in sortWords
result.append(findWords(list,i))
File "C:/Users/honey/Desktop/python/selfMade/sortWords.py", line 10, in findWords
if list[i] < findWords(list,i-1):
IndexError: list index out of range
調試技巧是在該行之前打印我。然後你可以看到實際發生了什麼錯誤。有了這個錯誤,'i'要麼太大(3個字,大於2)或太小(小於0)。如果您可以在您的問題中發佈我的價值,它也可以幫助其他人。 –
真的很難理解你在做什麼,但我認爲pb來自於你的程序中只有一個列表的事實,所以當你在遞歸調用中修改它時,它在其他調用中也會改變。 – polku
噢好吧,對不起,我是初學者sooo ...,但非常感謝你們 –