Découvre Python : le langage magique qui transforme tes idées en réalité avec facilité et amusement. 🐍💻✨
Bienvenue jeune programmeuse !
Je suis Julie, et je vais t’accompagner tout au long du stage afin de te faire
découvrir le magnifique monde de l’informatique et de la programmation !
Derrière toutes les applications et les logiciels que tu utilises sur ton
ordinateur ou ton téléphone se cache en réalité des milliers de lignes de codes.
Elles correspondent à des instructions que donne l’humain à la machine pour
décrire le fonctionnement du programme.
Comme chez les humains, il existe plein de langages de programmation pour
discuter avec plein de types de machines. Tout au long du stage, nous allons
découvrir le langage Python utilisé dans de nombreux domaines :
intelligence artificielle, médecine, jeux-vidéos, robotique…
Avant de commencer
Si tu ne comprends pas quelque chose, n’hésite surtout pas à demander à une
organisatrice ou un organisateur ! Ils sont là pour t’aider !
On te conseille de créer un fichier Python qui te sera utile pour mener à
bien toutes tes missions ! N’oublie pas d’enregistrer régulièrement ce
fichier ou de créer des copies ! Si tu ne sais pas comment faire, appelle un
organisateur !
N’hésite surtout pas à tester et modifier tous les codes présents sur le
site, même s’ils ne sont que des exemples. Si tu ne comprends pas comment ils
fonctionnent, ou que quelque chose cloche, n’hésite pas à appeler un
organisateur.
Nous sommes ouvert à toute suggestion si jamais tu rencontres un pépin sur
le sujet !
Affichons des choses !
En programmation, il te sera très utile d’afficher du texte ou des éléments
sur l’ordinateur. Pour faire cela, il faut écrire une nouvelle instruction en
utilisant la fonction print ! Chaque ligne de code est un ordre que tu donnes
à l’ordinateur. Essaye de lancer le code en-dessous en cliquant sur le bouton
Run !
Appuie sur le bouton Run pour exécuter le code python ci-dessous
Le résultat :
C’est quoi les lignes qui commencent par un # ?
Les lignes qui commencent par un # sont des commentaires. Ces lignes vont
être ignorées par l’ordinateur. Ils sont écrits par les développeurs, pour les
développeurs afin de mieux comprendre ce que fait un programme.
Imagine devoir te rappeler de ce que fait chaque ligne de code dans un fichier
de plus de 42 000 lignes !
Mission 1 : Affiche ton prénom !
Afin de faire plus ample connaissance avec toi, Julie souhaiterait que tu
affiches ton prénom ainsi que ton âge en utilisant la fonction print !
Pour cela, crée un fichier Python et ouvre le avec ton environnement de code. Tu
pourras alors ainsi modifier puis lancer ton fichier pour vérifier le
fonctionnement de ton code !
Il est également possible de donner plusieurs arguments à la fonction
print afin d’afficher plusieurs bouts de phrases séparés par des espaces.
Appuie sur le bouton Run pour exécuter le code python ci-dessous
Le résultat :
Des arguments et des fonctions ?
En programmation, on parle d’arguments lorqu’on appelle une fonction ! Les
fonctions sont des instructions qui font une chose spécifique par rapport à des
éléments qu’on donne en entrée. Ces entrées représentent les arguments de la
fonction.
Il peut avoir 0, 1, 2 ou plus d’arguments qui dépendent de la fonction qu’on
appelle. Ces arguments sont séparés par une virgule (,) comme dans cet
exemple :
1
2
3
4
5
6
# Appel de la fonction qui s'appelle `fonction1`# avec 2 arguments : `argument1` et `argument2`fonction1(argument1, argument2)
# Appel de la fonction `fonction2` avec 0 argumentfonction2()
Si tu n’as pas tout compris cette partie, ce n’est pas grave ! On reviendra
dessus à la fin du sujet lorsqu’on voudra créer nos propres fonctions !
Quel jour sommes-nous ?
On peut également lire et récupérer du texte en demandant à l’utilisateur de
répondre à une question. Pour cela, on utilise l’instruction input.
Appuie sur le bouton Run pour exécuter le code python ci-dessous
Le résultat :
Tout comme la fonction print, tu peux demander à l’ordinateur d’afficher du
texte avant de demander à l’utilisateur une entrée.
Ici, avant d’attendre la réponse de l’utilisateur, l’ordinateur affiche
“Quel jour sommes-nous ?”.
Mission 2 : Téléportation !
Julie vient de te téléporter dans un nouveau monde ! Tu es un peu perdue, mais
tu croises un passant. Tu voudrais lui demander dans quelle ville tu es tombée,
mais il ne comprend que le Python !
Utilise la fonction input pour lui demander une entrée avec comme message
“Dans quelle ville suis-je tombée ?”.
La fonction input nous permet de demander une entrée à l’utilisateur.
Cependant, on ne peut pas la réutiliser, pour afficher la réponse par exemple.
Pour cela, nous avons besoin de la stocker dans une variable.
Garder en mémoire
Les variables vont nous permettre de garder en mémoire certaines
valeurs et de les associer à un nom. Cela nous permettra par la suite de
réutiliser ces valeurs et de les manipuler. C’est comme si on utilisait des
boîtes pour les représenter !
Pour déclarer une variable, on procède de la sorte :
1
2
# `ma_variable` stocke la valeur 42ma_variable =42
Ces variables sont réutilisables, on peut les rappeler pour obtenir leur
valeur.
Appuie sur le bouton Run pour exécuter le code python ci-dessous
Le résultat :
Les types de variables
Comme dans les langues parlées, il existe plusieurs types de mots en
programmation. Tous ces mots peuvent être stockés dans des variables comme
précédemment. Tu les découvriras petit à petit pendant le stage, mais voici
quelques exemples :
les nombres entiers : 42, 10, -3 ;
les nombres à virgule : 10.3, 2.999999, -4.11042 ;
les caractères : 'c', 'A', '!' ;
les chaînes de caractères : "Hello World!", "Girls Can Code!", "Prologin" ;
les booléens : True (vrai), False (faux).
Pourquoi il y a des guillemets sur certains types ?
Les caractères et les chaînes de caractères correspondent à du texte
brut que tu veux écrire dans ton programme. Pour dire à l’ordinateur que tu veux
écrire un texte tel quel, il te faut utiliser les guillemets.
Par convention, on utilise les guillemets simples (') pour les caractères et
les guillemets doubles (") pour les chaînes de caractères.
Tu auras l’occasion de voir les chaînes de caractères plus en profondeur dans
une autre activité !
Les nombres à virgule
Les nombres à virgule sont utilisés en programmation. Attention, en Python et
dans d’autres langages de programmation, on remplace la virgule par un
point (.) comme dans cet exemple :
Appuie sur le bouton Run pour exécuter le code python ci-dessous
Le résultat :
Les opérateurs
Les ordinateurs ont été créés à la base pour effectuer des calculs. Tu peux
également faire différents types d’opérations avec Python, avec des nombres
entiers ou à virgule :
Nom
Opérateur
Exemple
Résultat
Addition
+
6.2 + 2.4
8.6
Soustraction
-
7 - 2
5
Multiplication
*
7 * 2
14
Division
/
7 / 2
3.5
Puissance
**
7 ** 2
49
Division entière
//
7 // 2
3
Modulo
%
7 % 2
1
Clique ici pour découvrir ce que sont une division entière et un modulo !
Les deux dernières opérations ne te sont peut-être pas familières. Pourtant, ce
sont celles que tu as appris au primaire, lorsque que tu n’avais pas encore la
connaissance des nombres à virgule. Elles correspondent aux résultats de la
division euclidienne. Voici un petit exemple :
La division entière (//) correspond au
quotient de la division, ici 3.
Le modulo (%) correspondent au reste de la
division, ici 2.
Voici un petit bout de code qui te permettra de comprendre ces opérations, avec
le même exemple.
Appuie sur le bouton Run pour exécuter le code python ci-dessous
Le résultat :
On peut alors reprendre les fonctions print et input qu’on a vu précémment
pour calculer le nombre d’années depuis la création de l’association Prologin et
de ton année de naissance ! Utilise les flèches ci-dessous pour découvrir le
code et le lancer à la fin !
1
2
annee_debut =1991
3
entree_utilisateur = input("En quelle année es-tu née ?")
4
annee_naissance = int(entree_utilisateur)
5
6
7
difference = annee_naissance - annee_debut
print("Prologin a été créée", difference, "ans avant ta naissance !")
Variable qui garde en mémoire l’année de début de Prologin
Demande à l’utilisateur son année de naissance
Transforme l’entrée en nombre
Affiche l’âge de l’utilisateur
Appuie sur Run pour lancer le code :
C’est quoi int() ?
Le mot-clé int permet de transformer un texte en un nombre. Ce texte doit
contenir des chiffres pour pouvoir le transformer en nombre !
Appuie sur le bouton Run pour exécuter le code python ci-dessous
Le résultat :
Il existe un autre mot-clé pour faire l’inverse, transformer un nombre en un
texte, il s’agit de la fonction str qui fonctionne comme dans l’exemple
suivant.
Appuie sur le bouton Run pour exécuter le code python ci-dessous
Le résultat :
Pour mieux comprendre les fonctions int et str, voici une illustration des
exemples. Tu peux cliquer sur la flèche pour faire défiler les images.
Différence entre texte et nombre
Passer d’un texte à un nombre
Passer d’un nombre à un texte
Mission 3 : Argent de poche
Avant de te téléporter dans ce nouveau monde, Julie t’as donné quelques pièces.
Tu commences à avoir faim… Tu te rends alors dans une taverne, qui se nomme la
Prolotaverne, et tu te rends compte que les prix sont en euros (quelle
chance) !
Avant de consommer, tu souhaiterais connaître la valeur de ton porte-monnaie en
euros, et par un pur hasard, il y a un tableau récapitulant la valeur de chaque
monnaie !
Type de pièce
Valeur en €
Or
5.12 €
Argent
3.25 €
Bronze
1.64 €
Calcule et affiche la valeur totale de ton porte-monnaie sachant que tu as 6
pièces d’or, 3 pièces d’argent et 10 pièces de bronze !
Tu peux utiliser les variables et les opérations sur ces dernières pour afficher
la valeur totale !
Affecter et opérer !
Il existe un autre type d’opérateurs pour effectuer des calculs en
programmation. Ce dernier type est assez utile, et tu le rencontreras assez
souvent. Il s’agit des opérateurs +=, -=, *=…
Aux opérateurs que tu connais déjà, on rajoute le signe = pour faire
intervenir l’affectation. L’affectation est le fait de donner une certaine
valeur à une certaine variable. Lorsqu’on déclare une variable, on utilise le
signe = pour donner sa valeur.
1
2
# Affecte 42 à la variable `ma_variable`ma_variable =42
Les opérateurs précédents nous permettent d’effectuer les opérations pour
ajouter ou enlever. Voici un petit exemple de leur utilisation :
Appuie sur le bouton Run pour exécuter le code python ci-dessous
Le résultat :
Dans cet exemple, on ajoute 4 à la variable a. Cette opération te sera très
utile dans ta découverte de Python !
N’hésite pas à modifier et t’approprier l’exemple pour tester d’autres types
d’opérations et d’utiliser d’autres nombres ou variables ! Si jamais tu as des
questions, n’hésite surtout pas à appeler un organisateur !
Contrôler son code
L’ordinateur lit ligne par ligne les différentes instructions que donne la
programmeuse ou le programmeur. Cependant, il est également possible de vouloir
effectuer une certaine partie du code seulement si une condition est
vérifiée ou même répéter plusieurs fois plusieurs instructions.
Les conditions
En programmation, tu voudras parfois qu’un certain bout de code s’effectue
seulement si une condition est vraie, ou effectuer un autre bout de code si
cette dernière n’est pas vraie.
Commençons d’abord par regarder des exemples que tu pourrais rencontrer dans la
vie courante de l’utilisation des condititons.
Utilisation d’une condition
Utilisation d’une condition avec une action si elle n’est pas vérifiée
Utilisation de plusieurs conditions chaînées
On va alors pouvoir utiliser l’instruction if (si 🇫🇷) que l’on fait suivre
d’une condition que l’on veut tester. Elle permet d’exécuter un morceau de code
uniquement lorsque la condition est vraie.
Pour vérifier une certaine condition, on va utiliser la syntaxe if condition:,
suivi d’un bloc de code indenté. Le bloc de code en question ne sera alors
exécuté seulement sicondition est vraie, qu’on ait le booléen True.
C’est quoi les booléens ?
Les booléens correspondent à un type de variables en programmation. Ils ont soit
la valeur True (vrai 🇫🇷), soit la valeur False (faux 🇫🇷).
Ils permettent d’exprimer si une proposition est vraie ou fausse, comme dans ces
exemples :
Appuie sur le bouton Run pour exécuter le code python ci-dessous
Le résultat :
Indentation et création de blocs de code
Python utilise l’indentation pour isoler certains bouts de codes et créer
des blocs de code.
Pour créer ces blocs, nous allons utiliser la touche tabulation sur ton clavier.
Elle permet de rajouter des espaces. Elle devrait ressembler à ça :
L’indentation correspond au nombre d’espaces au début d’une ligne et avant
une instruction. Dans l’exemple de code ci-dessous, la première ligne a un
niveau d’indentation de 0 espaces en début de ligne, tandis que la troisième
ligne a un niveau d’indentation de 4 espaces.
Appuie sur le bouton Run pour exécuter le code python ci-dessous
Le résultat :
Garder l’indentation permet de faire plusieurs instructions dans le même bloc.
Un if peut être accompagné d’un else (sinon 🇫🇷) qui exécute un bloc de
code uniquement si la condition du if est fausse.
Enfin, il y a aussi le elif qui est la contraction du else et du if. Il
n’est exécuté que si sa condition est vraie et que les conditions précédentes
sont fausses.
Voici un petit exemple pour illustrer ce que l’on dit sur les conditions :
1
2
animal = input("Quel animal vois-tu ?")
3
4
if animal =="chien":
print("Ouaf !")
5
6
elif animal =="chat":
print("Miaou !")
7
8
elif animal =="oiseau":
print("Piou piou !")
9
10
else:
print("Je ne connais pas cet animal...")
Demande à l’utilisateur “Quel animal vois-tu ?” et garde la valeur entrée dans la variable animal
Affiche “Ouaf !” si animal est égal à “chien”
Affiche “Miaou !” si animal est égal à “chat”
Affiche “Piou piou !” si animal est égal à “oiseau”
Affiche “Je ne connais pas cet animal” sinon
Appuie sur Run pour lancer le code :
Les opérateurs booléens
Il existe des opérateurs qui permettent de comparer des éléments entre eux,
comme ce que tu as pu voir dans les exemples précédents. Ils renvoient une
valeur booléenne qui donne True ou False.
Nom
Opérateur
Exemple
Résultat
Égalité
==
2 == 3
False
Différence
!=
2 != 3
True
Inférieur strict
<
2 < 3
True
Inférieur ou égal
<=
2 <= 3
True
Supérieur strict
>
2 > 3
False
Supérieur ou égal
>=
2 >= 3
False
Il existe également des opérateurs qui permettent de relier des booléens entre
eux.
Nom
Opérateur
Exemple
Résultat
Commentaire
Inverse
not
not True
False
Renvoie l’inverse de la valeur
Et
and
True and True
True
Vaut vrai si et seulement si les deux conditions sont vraies
Ou
or
True or False
True
Vaut vrai si au moins une des conditions est vraie
Mission 4 : Le menu
Après avoir calculé ton argent poche, tu peux enfin découvrir le menu ! Vu que
tu as énormément faim, tu souhaites prendre une entrée, un plat et un dessert !
Cependant, il ne faut pas que le prix du repas excède la valeur de ton
porte-monnaie !
Pour vérifier cela, utilise tes nouvelles compétences pour vérifier si tu peux
payer tout le repas ! Affiche “J’ai faim, allons-y !” si tu as assez d’argent
pour le repas, “Je n’ai pas assez d’argent…” sinon. Tu devras réutiliser ton
dernier code afin de récupérer la valeur de ton porte-monnaie.
Plat
Prix en €
Entrée : fromage
3.99 €
Plat : frites et steak haché
9.99 €
Dessert : tiramisu
5.49 €
Les boucles
En programmation, il est souvent utile de répéter certaines actions un certain
nombre de fois ou tant qu’une condition est vérifiée. Il existe alors les
boucles qui peuvent répondre à cette problématique.
Tant que
La boucle while (tant que 🇫🇷) est une boucle dont le bloc de code est
répété tant qu’une condition est vérifiée. On l’écrit similairement à des
conditions while condition:. On peut trouver des examples dans la vie
courante :
Illustrons cette boucle à travers un exemple de code :
1
nombre_secret =8
2
3
entree = input("Choisis un nombre entre 1 et 10 : ")
nombre_entree = int(entree)
4
5
while nombre_secret != nombre_entree:
6
7
8
print("Le nombre n'a pas encore été trouvé !")
entree = input("Choisis un nombre entre 1 et 10 : ")
nombre_entree = int(entree)
9
10
print("Bravo, tu as trouvé le nombre secret !")
Garde en mémoire le nombre secret
Demande à l’utilisateur un nombre et le garde en mémoire
Tant que le nombre secret est différent au nombre entré, on répète les prochaines instructions
Demande à l’utilisateur un nouveau nombre
Dès que la condition de la boucle while est fausse, on a trouvé le nombre secret et on affiche un message
Appuie sur Run pour lancer le code :
Mission 5 : Dessert, dessert…
Après avoir mangé ton menu, tu as encore faim ! Tu as particulièrement aimé le
tiramisu et tu voudrais en manger tant qu’il te reste de l’argent ! Il te reste
37,40 € et le tiramisu est à 5.49 € !
Pour cela, commande des tiramisus tant que la valeur de ton porte-monnaie moins
le prix d’un tiramisu est supérieur à 0 ! Pour commander des tiramisus, tu peux
appeler le serveur en affichant “Un autre tiramisu s’il vous plaît !”.
N’oublie pas d’enlever le prix d’un tiramisu à ton porte-monnaie à chaque fois
que tu commandes ! Lorsque tu n’as plus d’argent, tu peux afficher
“Merci chef !”.
Pour un certain nombre de fois
Il existe une autre manière de créer une boucle. La boucle while est pratique
pour répéter une action tant qu’une condition vérifiée. La boucle for te sera
utile lorsque tu sauras combien de fois tu veux répéter tes instructions.
Appuie sur le bouton Run pour exécuter le code python ci-dessous
Le résultat :
Le nombre indiqué dans les parenthèses du mot-clé range indique le nombre de
répétitions des instructions. Voici un petit schéma pour bien différencier les
différents blocs de code :
La fonction range
La fonction range permet de créer une suite de nombres qui peut être utilisée
dans une boucle. La fonction peut-être utilisée de plusieurs manières
différentes.
1
range(6)
2
range(1, 6)
3
range(1, 6, 2)
Prends les valeurs entre 0 et 5 : 0, 1, 2, 3, 4, 5 (et donc 6 valeurs au total)
Prends les valeurs entre 1 et 5 : 1, 2, 3, 4, 5
Prends les valeurs entre 1 et 5 avec un pas de 2 : 1, 3, 5
Appuie sur Run pour lancer le code :
À quoi correspond i ?
i est une variable qui existe seulement dans notre boucle for. Elle
correspond aux différentes valeurs des suites créées par la fonction range.
À chaque fois que l’ordinateur va répéter les actions dans la boucle, il va
prendre successivement les valeurs de la fonction range. Voici un petit
exemple :
Appuie sur le bouton Run pour exécuter le code python ci-dessous
Le résultat :
i étant une variable, tu peux changer son nom si tu en as envie :
Appuie sur le bouton Run pour exécuter le code python ci-dessous
Le résultat :
Si tu n’as pas compris cette partie, n’hésite pas à appeler un organisateur !
Mission 6 : Le long périple…
En remerciant le chef de la Prolotaverne, il te remet une liste d’instructions
pour aller à un trésor caché ! Tu le remercies et tu décides de suivre son
parchemin !
Chère aventurière, j’ai caché mon trésor dans un temple dissimulé dans la
forêt… Si tu oses aller à sa recherche, prends garde aux différents monstres
sur le chemin… Utilise les coordonnées x et y pour retrouver mon
précieux !
Pour trouver mon trésor, il te suffit de répéter 7 fois les instructions
suivantes :
Vers la droite je vais durant 3 pas, en ajoutant 3 à x…
Vers le haut je me dirige durant 2 pas, en ajoutant 2 à y…
“Kawabounga !” je crierai en utilisant la fonction print pour éloigner les
monstres !
Prend garde à toi aventurière !
Sachant que tu te trouves aux coordonnées x = 0 et y = 0, quelles sont les
coordonnées du trésor ?
Les fonctions
Les fonctions représentent une fonctionnalité clé de la programmation. Elles
permettent d’affecter un bout de code à un nom. C’est comme si on
représentait les fonctions comme étant des variables avec comme valeur tout un
bout de code ! Elle est donc réutilisable en fonction de certains paramètres.
Pour déclarer une fonction, il faut 5 éléments :
le mot-clé def ;
le nom de la fonction ;
des parenthèses ;
deux points : ;
un bout de code indenté.
1
defsalutations():
2
3
4
print("Bonjour chère aventurière !")
print("Je suis Julie...")
print("et voici ma fonction !")
5
6
salutations()
Définit la fonction qui se nomme salutations
Instructions qui représentent le corps de la fonction
Appelle la fonction salutations
Appuie sur Run pour lancer le code :
Une fonction peut aussi être utilisée pour créer un résultat à partir de
certains paramètres. Jouons à un jeu ! Voici une fonction qui permettra de
lire dans les pensées (enfin presque).
Appuie sur le bouton Run pour exécuter le code python ci-dessous
Le résultat :
Essaye de changer le nombre dans l’appel à la fonction tour_de_magie, tu
verras ainsi la magie s’opérer !
Les paramètres d’une fonction
Comme tu as pu le remarquer, les paramètres de la fonction fonctionnent comme
des variables dans la fonction. Il peut en avoir 0, 1 ou plus ! On utilise
la fonction en l’appelant avec des paramètres :
1
ma_fonction(parametre1, parametre2, ...)
Le mot-clé return
On peut également demander à la fonction de renvoyer un résultat en utilisant le mot-clé return. Il est alors possible
de récupérer la valeur du résultat dans une variable.
Après ton long périple, tu te retrouves sur une grosse croix rouge sur le sol !
Curieuse, tu voudrais creuser pour retrouver le trésor enfoui.
Tu remarques sur le parchemin, qu’il est possible d’appeler des mineurs afin
qu’ils t’aident à creuser dans le sol et révéler le secret !
Afin d’accéder à mon précieux, utilise une fonction pour appeler les mineurs !
Pour cela, crée une fonction qui se nomme creuser et qui prend en paramètre
une variable qui s’appelle nom. Dans cette fonction, affiche les phrases
suivantes :
Brothers of the mine rejoice!
Swing, swing, swing with me
Raise your pick and raise your voice!
Sing, sing, sing with me
I am a dwarf and I’m digging a hole
Diggy diggy hole, diggy diggy hole
Après avoir affiché ces paroles, affiche la phrase suivante en utilisant la
variable nom à la place de nom !
"Come nom and sing with me!"
Appelle ta fonction avec ton prénom puis avec “Julie” et enfin avec “Joseph”
en paramètre et le secret se dévoilera !
Clique pour voir un rappel sur la fonction print
En Python pour intégrer une variable dans le texte affiché par print on peut utliser des virgules (,).
Appuie sur le bouton Run pour exécuter le code python ci-dessous
Le résultat :
Bravo à toi pour ton aventure !
Bravo à toi jeune aventurière ! En ouvrant le coffre, tu es téléportée à nouveau
dans le monde réel ! Tu t’étais juste assoupie quelques minutes devant ton
ordinateur !
Tu viens de terminer le premier sujet du stage Girls Can Code!, félicitations !
Tu peux maintenant passer à la suite en cliquant sur le bouton Retour au menu
et en sélectionnant le prochain sujet !
Si jamais tu as la moindre question, n’hésite surtout pas à appeler un
organisateur !