From 740e2a9ca8255737134bd555ef02aac6fd161839 Mon Sep 17 00:00:00 2001 From: Dimitri Merejkowsky Date: Sat, 10 Oct 2020 11:47:35 +0200 Subject: [PATCH] Ajout de l'exercice en fin de chapitre 5 --- cours/source/05-fonctions-01/07-exercice.rst | 58 ++++++++++++++++++++ cours/source/05-fonctions-01/index.rst | 1 + cours/source/extraits/sapin.py | 27 +++++++++ 3 files changed, 86 insertions(+) create mode 100644 cours/source/05-fonctions-01/07-exercice.rst create mode 100644 cours/source/extraits/sapin.py diff --git a/cours/source/05-fonctions-01/07-exercice.rst b/cours/source/05-fonctions-01/07-exercice.rst new file mode 100644 index 0000000..5c9d559 --- /dev/null +++ b/cours/source/05-fonctions-01/07-exercice.rst @@ -0,0 +1,58 @@ +Exercice +======== + +Le but de l'exercice est d'afficher un sapin de largeur 10 dans +la console, comme ceci + +.. code-block:: text + + + # + ### + ##### + ####### + ######### + # + # + + +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 10 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: + +.. code-block:: python + + cinq_diéses = "#" * 5 + print(cinq_diéses) + +.. code-block:: text + + ##### + + + +Consignes +--------- + +Partir du code suivant: + +.. literalinclude:: /extraits/sapin.py + + +* 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 `10`. + diff --git a/cours/source/05-fonctions-01/index.rst b/cours/source/05-fonctions-01/index.rst index 1159c0b..125ba0a 100644 --- a/cours/source/05-fonctions-01/index.rst +++ b/cours/source/05-fonctions-01/index.rst @@ -10,3 +10,4 @@ Chapitre 5 - Introduction aux fonctions 04-par-défaut.rst 05-fonctions-natives.rst 06-return.rst + 07-exercice.rst diff --git a/cours/source/extraits/sapin.py b/cours/source/extraits/sapin.py new file mode 100644 index 0000000..5424a43 --- /dev/null +++ b/cours/source/extraits/sapin.py @@ -0,0 +1,27 @@ +largeur = 10 + + +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 main(): + affiche_feuilles() + affiche_pied() + + +main()