作为循环替代的递归
我们已经看到,递归是重复执行子程序中包含的指令。反过来,这类似于循环的工作。有些编程语言完全没有循环结构。例如,Prolog。
让我们尝试模拟循环
for
的工作。
for
循环包含一个计步器变量。在递归子程序中,这样的变量可以作为参数传递。
<前>
# Procedure LoopImitation() 有两个参数
# 第一个参数 –计步器,第二个参数——总步数
def LoopImitation(i, n):
print("Hello N", i) # 对 i 的任何值重复的语句
如果我n: # 直到循环计数器等于值n,
LoopImitation(i + 1, n) # 调用过程的新实例,
# 带参数 i+1(转到下一个值 i)