*图一:从上到下依次是一阶、二阶、三阶、四阶。
递归(recursion),就是在运行的过程中掉用自己。
构成递归需具备的2个条件:
一个是调用自己,一个是有终止条件。
这2个条件必须同时具备且一个都不能少。
下面我们制作图一的所有图形。
p.width(3)
p.speed(10)
for i in range(3):
def koch(size,n):
if n==0:
p.fd(size)
else:
for angle in [0,60,-120,60]:
p.lt(angle)
koch(size/3,n-1)
p.moveTo(-200,125)
koch(400,1)# 一阶
p.moveTo(-200,30)
koch(400,2)# 二阶
p.moveTo(-200,-70)
koch(400,3)# 三阶
p.moveTo(-200,-170)
koch(400,4)# 四阶
p.hide()
p.draw()