Exercice

Le but de l’exercice est d’afficher un sapin de largeur arbitraire dans la console, comme ceci:

    #
   ###
  #####
 #######
#########
    #
    #

Le sapin est composé d’une suite de lignes, chacune des lignes étant constituée uniquement de dièses.

Il y a deux parties au sapin: les feuilles qui forment un triangle de largeur 1 tout en haut jusqu’à une ligne de largeur 9 tout en bas, et un pied constitué de deux dièses superposés

Indices

Pour construire une chaîne de caractères constituée uniquement de dièses vous pouvez utiliser l’expression suivante:

cinq_diéses = "#" * 5
print(cinq_diéses)
#####

Consignes

Partir du code suivant:

largeur = 9


def affiche_ligne(début, fin):
    blancs_au_début = " " * début
    largeur_ligne = fin - début
    dièses = "#" * largeur_ligne
    print(blancs_au_début + dièses)


def affiche_feuilles():
    affiche_ligne(5, 6)
    affiche_ligne(4, 7)
    # à compléter


def affiche_pied():
    affiche_ligne(5, 6)
    # à compléter


def affiche_sapin():
    affiche_feuilles()
    affiche_pied()


affiche_sapin()
  • Compléter le code pour afficher le sapin en entier

  • Remplacer tous les litéraux (5, 6, 4, 7…) par des expressions utilisant la variable largeur

  • Demander à l’utilisateur la largeur du sapin en début de programme au lieu d’utiliser la valeur litérale 9 - vous pouvez faire l’hypothèse que la largeur est toujours un nombre impair.