递归函数不打印列表

时间:2017-07-20 22:19:14

标签: python python-3.x recursion

我正在尝试理解递归,我制作了一小段代码来检查我的理解。不幸的是,我的函数不会打印任何列表元素。

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)

1 个答案:

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

直到它溢出调用堆栈。