loading-icone

Introduction à Python

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 argument
fonction2()

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 !

Variable en Python

Variable en Python

Pour déclarer une variable, on procède de la sorte :

1
2
# `ma_variable` stocke la valeur 42
ma_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 :

Exemple de division euclidienne

Exemple de division euclidienne

  • 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.

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.

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 si condition est vraie, qu’on ait le booléen True.

Blocs de code avec une condition

Blocs de code avec une condition

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 :

Touche tabulation du clavier

Touche tabulation du clavier

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.

Blocs de code avec un else

Blocs de code avec un else

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.

Blocs de code avec un elif

Blocs de code avec un elif

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 :

Algorithme avec l’utilisation d’une boucle tant que

Algorithme avec l’utilisation d’une boucle tant que

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 :

Blocs de code dans une boucle for

Blocs de code dans une boucle for

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
def salutations():
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.

1
ma_variable = ma_fonction(parametre1, parametre2, ...)

Mission 7 : Trésor caché !

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 !

Retour au Menu