Formation I.S.N.

3, 2, 1...

Exercice : compter à rebours

Écrire une fonction python récursive :

Entrée Un entier naturel n.
Sortie L'affichage des entiers n, n-1, n-2, ..., 1.
  • principe récursif
  • une solution
  • Si n = 0, on n'affiche rien et on stoppe.
  • Si n > 0, on affiche la valeur de n et pour poursuivre, il suffit de lancer le compte à rebours sur l'entier n-1.

Une solution Python :


def compteARebours(n) :
	if n <= 0 : pass
	else :
		print(n, end=" ")
		compteARebours(n-1)
		
		
compteARebours(5)

Il faut toujours faire attention à ce que les appels récursifs finissent par s'arrêter. Ici, il est assez simple de s'en persuader : à chaque appel récursif, l'argument est décrémenté d'une unité. Cette valeur finira donc par être égale à 0, et dans ce cas la fonction s'arrête (en exécutant l'instruction pass).

Remarques.

  • pass peut-être traduit par "ne rien faire".
  • print(n, end=" ") affiche la valeur de n puis un blanc (sans passer à la ligne suivante).

Il revient au même d'écrire :


def compteARebours(n) :
	if n > 0 : 
		print(n, end=" ")
		compteARebours(n-1)
		
		
compteARebours(5)