Récursivité

Récursivité

## Tours de Hanoi

def hanoi(n,a,b,c):
    if n==1:
        print("move",a,"to",c)
    else:
        hanoi(n-1,a,c,b)
        print("move",a,"to",c)
        hanoi(n-1,b,a,c)

## Courbe et flocon de Von Koch

import turtle as t

def koch_curve(n,l):
  if n==0:
    t.forward(l)
  else:
    koch_curve(n-1,l/3)
    t.left(60)
    koch_curve(n-1,l/3)
    t.right(120)
    koch_curve(n-1,l/3)
    t.left(60)
    koch_curve(n-1,l/3)

def koch_snowflake(n,l):
  koch_curve(n,l)
  t.right(120)
  koch_curve(n,l)
  t.right(120)
  koch_curve(n,l)
  t.right(120)

## Arbres aléatoires

import random as rd

def brocoli(n,l):
  t.pensize(n)
  elif n==1:
    t.forward(l)
    t.dot(5,'green')
  else:
    t.forward(l)
    alpha = rd.randint(10,45)
    beta = rd.randint(-10,10)
    gamma = rd.randint(-45,-10)
    h,p = t.heading(), t.position()
    t.left(alpha)
    brocoli(n-1,0.7*l)
    t.penup()
    t.setheading(h); t.goto(p)
    t.pendown()
    t.left(beta)
    brocoli(n-1,0.7*l)
    t.penup()
    t.setheading(h); t.goto(p)
    t.pendown()
    t.left(gamma)
    brocoli(n-1,0.7*l)
    t.penup()
    t.setheading(h); t.goto(p)
    t.pendown()