递归函数不打印列表

Recursive function doesn't print list

我试图理解递归,我编写了一小段代码来检查我的理解。不幸的是,我的函数不打印列表的任何元素。

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
...

直到溢出调用堆栈。