【发布时间】:2016-09-26 15:41:31
【问题描述】:
我在网上有一个print_backward功能码,但是我很困惑
关于它的工作原理和输出。
以下是我的代码。
def print_backward(num):
if num == 10:
return
num += 1
print(num)
print_backward(num)
print("yeah")
print(num)
print()
print_backward(6)
下面是输出。
7
8
9
10
yeah
10
yeah
9
yeah
8
yeah
7
我可以理解它是如何从 7 打印到 10,因为每次调用 递归,num += 1。
但我很困惑,一旦 num 达到 10,print_backward 应该
返回,然后完成。它不应该打印yeah 10,yeah 9,yeah 8,yeah
7. 为什么这段代码调用了return,怎么还能打印?这段代码是如何向后打印的,这意味着我为什么叫print(num),它
可以打印 10 到 7 吗?
【问题讨论】: