我正在尝试理解递归,我制作了一小段代码来检查我的理解。不幸的是,我的函数不会打印任何列表元素。
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)
答案 0 :(得分:2)
你从未调用过这个函数。你还需要一行:
# 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
...
直到它溢出调用堆栈。