我需要在调用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 .