Formation I.S.N.

Polygones emboîtés

Exercice : polygones matriochkas

Écrire une fonction récursive python emboite(n, lg, delta) utilisant la tortue.

Par exemple, emboite(7, 100, 5) devrait donner cette figure :
emboîte

Le paramètre n est le nombre de côtés du polygone régulier dessiné. lg est la longueur d'un côté du plus grand polygone. delta est la quantité dont la longueur de côté diminue d'un polygone au suivant.

emboite(4, 100, 2) devrait donner cette figure :
en boîte

  • documentation
  • un code

On trouvera la doc sur le module turtle ici.


import turtle as tl


def polygone(nbCote, lgCote) :
	angle = 180 - 180*(nbCote-2)/nbCote 
	def dessin(n) :
		if(n > 0) :
			tl.forward(lgCote)
			tl.right(angle)
			dessin(n-1)
	dessin(nbCote)
	
	
def emboite(n, lg, delta) :
	if lg > 0 :
		polygone(n, lg) 
		emboite(n, lg-delta, delta)
	
tl.hideturtle()	
tl.speed(0)
emboite(4, 100, 2)
tl.exitonclick()