La pyramide centrée
Exercice · informatique (tronc commun des prépas scientifiques), chapitre 6 — Fonctions récursives
Énoncé
Écrire pyramide(n) qui affiche une pyramide centrée de étages. L'étage (de 1 à ) comporte étoiles précédées de espaces.
Corrigé
Pour que les sous-pyramides conservent le bon alignement, on doit transmettre la hauteur totale comme contexte de largeur :
def etages(k: int, n: int) -> None:
"""Affiche les étages 1 à k d'une pyramide de n étages."""
if k == 0:
return
etages(k - 1, n)
print(" " * (n - k) + "*" * (2 * k - 1))
def pyramide(n: int) -> None:
etages(n, n)
Le variant de récursion est (le nombre d'étages restants à tracer), tandis que sert à maintenir le décalage géométrique global invariant lors de la remontée de la pile.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.