2024-11-19 13:49:39 +01:00
|
|
|
|
|
2024-11-04 00:26:25 +01:00
|
|
|
|
:PROPERTIES:
|
2024-11-19 13:49:39 +01:00
|
|
|
|
:ID: 4c6e26e5-7ec2-4af3-a3c6-fd138db6d96b
|
2024-11-04 00:26:25 +01:00
|
|
|
|
:END:
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
2024-11-04 00:26:25 +01:00
|
|
|
|
#+title: ecrire-une-comptine-en-python-bonjour-le-jour
|
2024-11-19 13:49:39 +01:00
|
|
|
|
#+post_ID: 73
|
|
|
|
|
#+post_slug: ecrire-une-comptine-en-python-bonjour-le-jour
|
|
|
|
|
#+post_url: https://cil-gometz.org/2020/ecrire-une-comptine-en-python-bonjour-le-jour
|
|
|
|
|
#+post_title: écrire une comptine en python - Bonjour le jour!
|
2024-11-19 23:50:42 +01:00
|
|
|
|
#+post_tags:
|
2024-11-19 13:49:39 +01:00
|
|
|
|
#+post_type: post
|
|
|
|
|
#+post_mime_types:
|
|
|
|
|
#+post_guid: undefined
|
|
|
|
|
#+post_status: publish
|
|
|
|
|
#+post_date_published: <2020-08-03T12:43:44>
|
|
|
|
|
#+post_date_modified: <2020-08-03T12:48:40>
|
|
|
|
|
#+post_index_page_roam_id: 9d3b75d3-cc12-475e-9bd4-de537191408a
|
|
|
|
|
#+retrieved_from_db_at: <2024-11-18 16:25:11>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* écrire une comptine en python - Bonjour le jour!
|
|
|
|
|
:PROPERTIES:
|
|
|
|
|
:CUSTOM_ID: écrire-une-comptine-en-python---bonjour-le-jour
|
|
|
|
|
:END:
|
2024-11-04 00:26:25 +01:00
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
Salut les Cilleux et cilleuses,
|
2024-11-04 00:26:25 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Georges est en vacances, mais je vous propose de pratiquer le python en
|
|
|
|
|
fabriquant une comptine que ma fille chantait à la crèche, histoire de
|
|
|
|
|
ne pas trop rouiller pendant l'été et de voir comme on peut faire de la
|
|
|
|
|
réutilisation. (et pourquoi pas, faire du python avec les enfants :D)
|
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
2024-11-04 00:26:25 +01:00
|
|
|
|
Cette comptine étant habituellement utilisée en crèche ou ailleurs pour
|
|
|
|
|
que tous les enfants retiennent le prénom des autres.
|
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
|
|
2024-11-04 00:26:25 +01:00
|
|
|
|
On va donc revoir plusieurs éléments déjà vu à la MJC de Gometz: les
|
|
|
|
|
fonctions, les boucles et les listes.
|
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
|
|
2024-11-04 00:26:25 +01:00
|
|
|
|
Créez votre fichier python dans votre éditer de texte préféré, perso je
|
|
|
|
|
recommande PyCharm, version communautaire qui est donc gratuit et très
|
|
|
|
|
complet.
|
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
*=sudo snap install pycharm-community --classic=*
|
|
|
|
|
|
|
|
|
|
|
2024-11-04 00:26:25 +01:00
|
|
|
|
|
|
|
|
|
donc, dans un fichier comptine_python.py, on veut faire notre comptine
|
|
|
|
|
qui va chanter ceci:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
#+begin_quote
|
|
|
|
|
|
2025-02-23 17:28:40 +01:00
|
|
|
|
#### c'est l'heure de la chanson #####
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
|
|
|
|
|
2025-02-23 17:28:40 +01:00
|
|
|
|
- Par la fenêtre ouverte
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
|
|
|
|
|
2025-02-23 17:28:40 +01:00
|
|
|
|
- bonjour, bonjour
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
|
|
|
|
|
2025-02-23 17:28:40 +01:00
|
|
|
|
- Par la fenêtre ouverte
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
|
|
|
|
|
2025-02-23 17:28:40 +01:00
|
|
|
|
- bonjour, le jour
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
|
|
|
|
|
2025-02-23 17:28:40 +01:00
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
|
|
|
|
|
2025-02-23 17:28:40 +01:00
|
|
|
|
- bonjour les pythons!
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
|
|
|
|
|
2025-02-23 17:28:40 +01:00
|
|
|
|
- bonjour les abeilles!
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
|
|
|
|
|
2025-02-23 17:28:40 +01:00
|
|
|
|
- bonjour les fleurs!
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
2024-11-04 00:26:25 +01:00
|
|
|
|
|
2025-02-23 17:28:40 +01:00
|
|
|
|
|
2024-11-04 00:26:25 +01:00
|
|
|
|
|
|
|
|
|
|
2025-02-23 17:28:40 +01:00
|
|
|
|
- Par la fenêtre ouverte
|
2024-11-04 00:26:25 +01:00
|
|
|
|
|
|
|
|
|
|
2025-02-23 17:28:40 +01:00
|
|
|
|
- bonjour, bonjour
|
2024-11-04 00:26:25 +01:00
|
|
|
|
|
|
|
|
|
|
2025-02-23 17:28:40 +01:00
|
|
|
|
- Par la fenêtre ouverte
|
2024-11-04 00:26:25 +01:00
|
|
|
|
|
|
|
|
|
|
2025-02-23 17:28:40 +01:00
|
|
|
|
- bonjour, le jour
|
2024-11-04 00:26:25 +01:00
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
#+end_quote
|
2024-11-04 00:26:25 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
nous avons donc une première ligne, un refrain, une suite de bonjours,
|
|
|
|
|
et un refrain.
|
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
|
|
2024-11-04 00:26:25 +01:00
|
|
|
|
Le plus simple est de commencer par la première ligne, qu'il suffit
|
|
|
|
|
d'imprimer avec print.
|
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
|
|
2025-02-23 17:28:40 +01:00
|
|
|
|
#+begin_src python
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
|
|
|
|
print("##### c'est l'heure de la chanson #####")
|
|
|
|
|
|
|
|
|
|
|
2025-02-23 17:28:40 +01:00
|
|
|
|
#+end_src
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
2024-11-04 00:26:25 +01:00
|
|
|
|
|
|
|
|
|
Ensuite, nous avons notre refrain. Au lieu de faire plein de print, nous
|
|
|
|
|
pouvons faire une fonction qui va imprimer toutes les lignes de ce
|
|
|
|
|
refrain , comme ça on pourra l'appeler deux fois pour faire notre
|
|
|
|
|
comptine.
|
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
|
|
2024-11-04 00:26:25 +01:00
|
|
|
|
Définissons donc la fonction refrain. On va écrire notre chaîne de
|
|
|
|
|
caractères entre une triple paire de guillemets afin de pouvoir écrire
|
|
|
|
|
sur plusieurs lignes le contenu de notre print.
|
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
|
|
2025-02-23 17:28:40 +01:00
|
|
|
|
#+begin_src python
|
|
|
|
|
def refrain():
|
|
|
|
|
print("""- Par la fenêtre ouverte- bonjour, bonjour- Par la fenêtre ouverte- bonjour, le jour""")
|
2024-11-19 13:49:39 +01:00
|
|
|
|
#+end_src
|
2024-11-04 00:26:25 +01:00
|
|
|
|
|
|
|
|
|
Ensuite nous avons plusieurs bonjours dit à un destinataire différent.
|
2024-11-19 23:50:42 +01:00
|
|
|
|
|
2024-11-04 00:26:25 +01:00
|
|
|
|
Nous pouvons donc faire une fonction qui dit bonjour, définir une liste
|
|
|
|
|
de destinataires, et dire bonjour à chacun d'eux avec une boucle.
|
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
|
|
2024-11-04 00:26:25 +01:00
|
|
|
|
Commençons par la liste de destinataires que sont les pythons, les
|
|
|
|
|
abeilles et les fleurs. On utilise des crochets pour définir une liste
|
|
|
|
|
et l'attribuer à une variable.
|
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
|
|
2025-02-23 17:28:40 +01:00
|
|
|
|
#+begin_src python
|
2024-11-19 13:49:39 +01:00
|
|
|
|
destinataires = ['les pythons', 'les abeilles', 'les fleurs']
|
|
|
|
|
#+end_src
|
|
|
|
|
|
2024-11-04 00:26:25 +01:00
|
|
|
|
|
|
|
|
|
Pour leur dire bonjour on définit une fonction qui va avoir en paramètre
|
|
|
|
|
un destinataire, et on va imprimer dans la console un bonjour avec le
|
|
|
|
|
nom du destinataire. Pour mélanger ensemble une chaîne de caractère et
|
|
|
|
|
une variable, on va utiliser la substitution. ça consiste à écrire dans
|
|
|
|
|
la chaîne un %s, et après la chaîne à lui donner quoi substituer avec un
|
|
|
|
|
symbole pourcent % et le nom de la variable à substituer. Ici on veut
|
|
|
|
|
dire bonjour au destinataire, donc on écrit *% destinataire*. il existe
|
|
|
|
|
plusieurs façons de mélanger des variables en python, le terme correct
|
|
|
|
|
étant "concaténer". Je vous laisse creuser le sujet si ça vous
|
|
|
|
|
intéresse.
|
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
|
|
2024-11-04 00:26:25 +01:00
|
|
|
|
En tous cas, voici ce que donne notre fonction pour dire bonjour.
|
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
|
|
2025-02-23 17:28:40 +01:00
|
|
|
|
#+begin_src python
|
2024-11-04 00:26:25 +01:00
|
|
|
|
def dire_bonjour(destinataire):
|
2025-02-23 17:28:40 +01:00
|
|
|
|
print('- bonjour %s!' % destinataire)
|
|
|
|
|
#+end_src
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
|
|
|
|
|
2024-11-04 00:26:25 +01:00
|
|
|
|
Nous n'avons plus qu'a rassembler le puzzle pour que lors de l'éxécution
|
|
|
|
|
de notre fichier de comptine on puisse voir la chanson en entier. Il
|
|
|
|
|
nous faut donc encore réaliser une boucle sur chaque élément de notre
|
|
|
|
|
liste de destinataires. On va utiliser la boucle *for in* et leur passer
|
|
|
|
|
le bonjour.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
|
|
2025-02-23 17:28:40 +01:00
|
|
|
|
#+begin_src python
|
|
|
|
|
for quelqun in destinataires:
|
|
|
|
|
dire_bonjour(quelqun)
|
2024-11-19 13:49:39 +01:00
|
|
|
|
#+end_src
|
2024-11-04 00:26:25 +01:00
|
|
|
|
|
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
Nous n'avons plus qu'à réorganiser nos lignes et demander au refrain de
|
|
|
|
|
s'exécuter avant et après la boucle.
|
2024-11-04 00:26:25 +01:00
|
|
|
|
|
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
|
|
2025-02-23 17:28:40 +01:00
|
|
|
|
#+begin_src python
|
|
|
|
|
# comptine de la chanson du bonjour
|
|
|
|
|
destinataires = ['les pythons', 'les abeilles', 'les fleurs']
|
|
|
|
|
|
|
|
|
|
def refrain():
|
|
|
|
|
print("""- Par la fenêtre ouverte- bonjour, bonjour- Par la fenêtre ouverte- bonjour, le jour""")
|
|
|
|
|
|
|
|
|
|
def dire_bonjour(destinataire):
|
|
|
|
|
print('- bonjour %s!' % destinataire)
|
|
|
|
|
print("##### c'est l'heure de la chanson #####") refrain() for quelqun in destinataires:dire_bonjour(quelqun) refrain() # et voilà!
|
2024-11-19 13:49:39 +01:00
|
|
|
|
#+end_src
|
2024-11-04 00:26:25 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
exécuter le fichier python devrait donc nous faire apparaître en console
|
|
|
|
|
la chanson complète. Dans pycharm vous pouvez voir ce que ça donne avec
|
|
|
|
|
votre script juste en appuyant sur F6.
|
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
|
|
2024-11-04 00:26:25 +01:00
|
|
|
|
Vous pouvez tester ce fichier sur le site repl.it
|
2025-02-23 17:28:40 +01:00
|
|
|
|
[[https:/repl.it/@tykayn/comptinebonjour#main.py]] et le lancer avec le
|
2024-11-04 00:26:25 +01:00
|
|
|
|
bouton "run" pour voir la comptine en console.
|
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
|
|
2024-11-04 00:26:25 +01:00
|
|
|
|
Il existe bien sûr tout un tas de façons de faire cette comptine en
|
|
|
|
|
python.
|
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
|
|
2024-11-04 00:26:25 +01:00
|
|
|
|
Vous pouvez essayer aussi en ajoutant d'autres destinataires dans la
|
|
|
|
|
liste.
|
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
|
|
2024-11-04 00:26:25 +01:00
|
|
|
|
J'espère que ce petit exercice vous aura amusé.
|
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
|
|
2024-11-04 00:26:25 +01:00
|
|
|
|
N'hésitez pas si vous avez des questions :)
|
|
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
|
Bon Lundi!
|
2024-11-04 00:26:25 +01:00
|
|
|
|
|