我想了解遞歸,並且我做了一小段代碼來檢查我的理解。不幸的是,我的函數不打印任何列表元素。遞歸函數不打印列表
list=['zero','one','two','three',0,1,2,3]
def rekur(list):
for element in list:
if isinstance(element,int):
rekur(list)
else:
print(element)
我想了解遞歸,並且我做了一小段代碼來檢查我的理解。不幸的是,我的函數不打印任何列表元素。遞歸函數不打印列表
list=['zero','one','two','three',0,1,2,3]
def rekur(list):
for element in list:
if isinstance(element,int):
rekur(list)
else:
print(element)
您從未調用函數。你需要一個更行:
# Function
def rekur(list):
for element in list:
if isinstance(element,int):
rekur(list)
else:
print(element)
# Main program
list=['zero','one','two','three',0,1,2,3]
rekur(list)
警告:您有一個無限遞歸。只要你達到一個整數,你就會以原始形式在整個列表上重現。我不確定你有什麼目的,這使得整數成爲遞歸的一個例子,所以我不知道如何爲你解決這個問題。當前程序發出
zero
one
two
three
zero
one
two
three
zero
...
直到它溢出調用堆棧。
預期輸出是什麼? – Mureinik