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 .

上一篇:UVA760 DNA Sequencing 题解


下一篇:一文读懂:DNA甲基化的作用及各种高通量检测方法比较