编程语言
首页 > 编程语言> > python-识别递归函数中的序列

python-识别递归函数中的序列

作者:互联网

我需要在调用myst(n)函数时确定其顺序,然后才能给出myst(4)的输出.
该函数定义如下:

def myst(n):

    if n > 1:
        myst(n - 1)

        for i in range(n):
            print(n, end='')
        print()


myst(4)
OUTPUT

22
333
4444

但是我不明白为什么myst(4)会给出此输出,因此对序列有误解.

解决方法:

基本上发生的事情是该函数在打印之前就递归了.因此,代替打印4444,然后递归,打印333等,它在打印结果之前先递归到最底层.这意味着实际上完成的功能的第一个调用是最底部的功能(打印22的功能),然后,生成输出333的调用完成,直到最后,初始功能调用完成以打印4444 .

标签:sequencing,python
来源: https://codeday.me/bug/20191210/2104913.html