SNT · Sciences Numériques et Technologie · Seconde

Découvrir Python

Une introduction pas à pas, du premier mot au premier programme

🐍 Python 3 🎯 Débutant absolu 🕹️ Exercices interactifs
Ta progression 0 / 12 exercices
1
C'est quoi un programme ?
🌍 Python, c'est partout — et tu ne le savais même pas

Chaque fois que YouTube te propose exactement la vidéo que tu avais envie de regarder, c'est un algorithme Python qui a analysé tes habitudes. Chaque fois que TikTok enchaîne les vidéos sans que tu aies à chercher, c'est Python. Quand la NASA calcule la trajectoire d'une fusée vers Mars, quand un médecin utilise l'IA pour détecter un cancer sur une radio, quand Spotify génère ta playlist du moment — Python est là.

Ce n'est pas un hasard si Python est le langage le plus utilisé au monde. Il est lisible, puissant, et il s'apprend vite. Aujourd'hui, tu fais partie de ceux qui commencent à comprendre comment fonctionne vraiment le monde numérique.

🤖 Intelligence Artificielle 🎵 Spotify / YouTube / TikTok 🚀 NASA & conquête spatiale 🏥 Imagerie médicale par IA
De Scratch à Python — une évolution, pas une révolution

Au collège, tu as peut-être utilisé Scratch : un langage visuel où on assemble des blocs colorés comme des pièces de LEGO. Python, c'est la même logique — mais écrite en texte. Bonne nouvelle : les concepts sont identiques, seul l'aspect change.

🧩 Scratch (collège)
On glisse-dépose des blocs colorés
Impossible de faire une faute de frappe (les blocs s'emboîtent ou pas)
Visuel et intuitif, mais limité pour des projets complexes
🐍 Python (lycée)
On écrit les mêmes instructions en texte
Les erreurs de frappe sont possibles — c'est là qu'on apprend vraiment !
Utilisable pour tout : jeux, IA, science, web, maths…
🎯 L'essentielTu n'apprends pas quelque chose de radicalement nouveau. Tu passes d'une calculatrice graphique à une vraie calculatrice professionnelle. Les blocs Scratch ont juste des noms en anglais maintenant.

Imagine que tu donnes des instructions à quelqu'un qui fait exactement ce que tu dis, dans l'ordre, sans jamais interpréter. C'est ça, un programme informatique.

📘 Définition

Un programme est une suite d'instructions écrites dans un langage de programmation. L'ordinateur les lit et les exécute une par une, de haut en bas. Python est un de ces langages — et l'un des plus simples à apprendre.

✅ Ce que Python peut faire pour toi
  • 🤖 Faire 10 000 calculs en une fraction de seconde
  • 📈 Tracer des fonctions mathématiques parfaitement
  • 🎲 Simuler des expériences aléatoires (probabilités)
  • 💬 Dialoguer avec l'utilisateur
Comment Python lit ton code ?
🔍 Exemple — Premier programme

Voici le programme le plus simple qui existe. Python affiche un message à l'écran :

bonjour.py
print("Bonjour tout le monde !")
Ce qu'on voitPython affiche : Bonjour tout le monde !
printC'est un ordre donné à Python : « affiche ce qui est entre les parenthèses ».
Les guillemetsIls indiquent que c'est du texte (on dit : une chaîne de caractères).
🎯 À retenirprint() est la commande pour afficher quelque chose à l'écran. C'est l'une des premières choses que tout programmeur apprend.
✏️ Exercice 1 — Ton premier print

Complète le code pour afficher le message "Python c'est super !"

exercice1.py
("Python c'est super !")
C'est le mot anglais pour « imprimer » ou « afficher ». 5 lettres.
Terminal Python
✏️ Exercice 2 — Afficher un nombre

On peut aussi afficher des nombres directement, sans guillemets. Complète pour afficher le nombre 42 :

exercice2.py
print()
Pour un nombre, pas besoin de guillemets. Écris juste le chiffre.
Terminal Python
2
Les Variables — stocker une valeur

Un programme doit souvent se souvenir d'une valeur pour la réutiliser plus tard. C'est le rôle d'une variable.

📘 Définition

Une variable, c'est une boîte étiquetée dans la mémoire de l'ordinateur. On lui donne un nom, et on y range une valeur. Le signe = signifie « je range cette valeur dans cette boîte » — on dit que c'est une affectation.

🔍 Exemple
variables.py
age = 16            # on range 16 dans la boîte "age"
prenom = "Lucas"    # on range "Lucas" dans la boîte "prenom"
print(age)           # affiche : 16
print(prenom)        # affiche : Lucas
age = 16La boîte nommée age contient maintenant la valeur 16.
print(age)Python ouvre la boîte age, lit ce qu'elle contient, et l'affiche.
Sans guillemetsQuand on écrit print(age), Python affiche le contenu de la boîte (16).
Si on écrivait print("age"), il afficherait le mot age tel quel.
L'armoire magique de la mémoire

Imagine la mémoire de l'ordinateur comme une grande armoire avec des tiroirs. Chaque tiroir a une étiquette (le nom de la variable) et contient exactement une chose à la fois. Quand tu ranges quelque chose de nouveau, l'ancien contenu disparaît automatiquement — la boîte ne peut pas en stocker deux à la fois.

age
16
int
prenom
"Lucas"
str
note
15
int
🃏 Jeu de bonneteau — Qu'y a-t-il dans chaque boîte ?

Lis ces lignes une par une, dans l'ordre, et suis mentalement ce qui se passe dans chaque boîte. À la fin, qu'est-ce que contient a, b et c ?

a = 5 → Boîte a : 5  |  Boîte b : vide  |  Boîte c : vide
b = 10 → Boîte a : 5  |  Boîte b : 10  |  Boîte c : vide
c = a + b → Boîte a : 5  |  Boîte b : 10  |  Boîte c : 15
a = b → Boîte a : 10  |  Boîte b : 10  |  Boîte c : 15
b = c - a → Boîte a : 10  |  Boîte b : ?  |  Boîte c : 15
🧠 Que vaut b à la fin ?

Réfléchis avant de regarder la réponse. c − a avec les valeurs actuelles des boîtes…

c vaut15 (on ne l'a pas modifié)
a vaut10 (on l'a mis à jour à la ligne 4)
b = c − ab = 15 − 10 = 5
🎯 À retenirPython ne regarde que la valeur actuelle d'une boîte au moment où il lit la ligne. L'histoire passée de la boîte ne compte pas.
⚠️ Piège n°1 — = n'est pas une égalité !

En mathématiques, x = 5 est une égalité (x est égal à 5). En Python, x = 5 signifie « range 5 dans la boîte x ». Ce sont deux choses très différentes ! On peut même écrire :

affectation.py
x = 5
x = x + 1   # x vaut maintenant 6 (impossible en maths !)
print(x)       # affiche : 6
✏️ Exercice 3 — Créer une variable

Crée une variable appelée note qui contient la valeur 15, puis affiche-la.

exercice3.py
 = 15
print()
Quel nom a-t-on donné à la boîte dans laquelle on range le 15 ? Regarde la première ligne du code.
Terminal Python
✏️ Exercice 4 — Modifier une variable

La variable points vaut 10. Complète la ligne pour lui ajouter 5, puis affiche le résultat (qui doit valoir 15).

exercice4.py
points = 10
points = points + 
print(points)
Combien faut-il ajouter à 10 pour obtenir 15 ?
Terminal Python
3
Les Types de données

Toutes les valeurs n'ont pas la même nature. Le nombre 5 et le texte "bonjour" ne sont pas la même chose pour Python. On appelle ça le type.

int Entier 5 · -3 · 100
float Décimal 3.14 · -0.5 · 2.0
str Texte "Bonjour" · "42"
bool Vrai / Faux True · False
🏭 Pourquoi l'ordinateur a-t-il besoin des types ?

Un ordinateur ne comprend que des 0 et des 1. Quand il voit la suite de bits 00000101, ça peut signifier le nombre 5, ou bien la lettre ENQ en code ASCII, ou autre chose encore selon le contexte. Sans que tu lui précises le type, il ne sait pas comment interpréter les données.

C'est comme la différence entre le symbole "5" écrit sur un t-shirt (une image, du texte) et la quantité 5 de pommes dans un sac (un nombre qu'on peut additionner). Ils se ressemblent visuellement, mais on ne peut pas faire la même chose avec eux.

🔢 int — Les entiers
  • Des nombres sans virgule
  • Stockés exactement, sans approximation
  • Parfaits pour compter : 0, 1, 2, 100, -7…
  • Opérations rapides et précises
🔣 float — Les décimaux
  • Des nombres avec décimales
  • Stockés en approximation (virgule flottante)
  • Pour mesurer : 3.14, 1.618, -0.5…
  • Parfois de minuscules erreurs d'arrondi
🇫🇷→🇺🇸
Attention ! En France, on écrit les décimaux avec une virgule (3,14). Python, lui, est anglophone : il utilise toujours un point (3.14). Écrire 3,14 dans Python ne donnera pas ce que tu attends — c'est une erreur fréquente !
🔍 Pourquoi c'est important ?
✘ Résultat surprise
bug.py
a = "5"
b = "3"
print(a + b)
# affiche "53" ! (collage de texte)
✔ Correct
ok.py
a = 5
b = 3
print(a + b)
# affiche 8 ✔ (addition)

Sur des str, le + colle les textes (concaténation). Pour additionner des nombres, il faut des int ou des float.

✅ Convertir un type en un autre

On peut transformer un type en un autre avec des fonctions de conversion :

conversions.py
int("15")      # → 15      (texte "15" devient l'entier 15)
float("3.14")  # → 3.14    (texte devient décimal)
str(42)        # → "42"    (entier devient texte)
🎮 Activité — Glisse & Dépose

Maintenant que tu connais les 3 grands types, prouve-le ! Glisse chaque valeur dans la bonne boîte de rangement.

📱 Sur mobile : appuie et fais glisser les étiquettes.

42 3.14 "Bonjour" -15 "Python" 0.0 0 "42"
🔢 Entier (int)
🔣 Décimal (float)
💬 Texte (str)
Terminal Python — résultat du tri
✏️ Exercice 5 — Identifier un type

La fonction type() révèle le type d'une valeur. Complète pour connaître le type de 3.14 :

exercice5.py
print((3.14))

→ Python affichera : <class 'float'>

C'est un mot anglais de 4 lettres qui signifie justement « type » ou « genre » d'une valeur.
Terminal Python
✏️ Exercice 6 — Convertir un type

L'utilisateur a tapé "7" (c'est du texte). Convertis-le en entier avant de l'additionner à 3 :

exercice6.py
saisie = "7"
nombre = (saisie)
print(nombre + 3)   # doit afficher 10
C'est l'abréviation du mot anglais « integer » (= entier). 3 lettres.
Terminal Python
4
Dialoguer avec l'utilisateur

Jusqu'ici, toutes les valeurs étaient écrites directement dans le code. Mais un vrai programme doit pouvoir poser des questions à l'utilisateur et utiliser ses réponses.

📘 Définition — input()

input("message") affiche le message entre guillemets, puis attend que l'utilisateur tape quelque chose au clavier et appuie sur Entrée. La valeur saisie est renvoyée sous forme de texte (str).

🔍 Exemple — Demander le prénom
prenom.py
prenom = input("Quel est ton prénom ? ")
print("Bonjour", prenom, "!")
Ligne 1Python affiche « Quel est ton prénom ? » et attend. L'utilisateur tape par exemple Marie et appuie sur Entrée. La variable prenom contient maintenant "Marie".
Ligne 2Python affiche : Bonjour Marie !
⚠️ Piège crucial — input() renvoie toujours du texte !
  • Même si l'utilisateur tape 7, Python reçoit "7" (un texte), pas le nombre 7.
  • Pour obtenir un nombre entier, il faut convertir : int(input(...)).
  • Pour un décimal : float(input(...)).
✏️ Exercice 7 — Demander un nombre

On veut demander l'âge de l'utilisateur et l'afficher. Complète pour convertir la saisie en entier :

exercice7.py
age = (input("Quel est ton âge ? "))
print("Tu as", age, "ans.")
input() donne du texte. Pour le transformer en entier, entoure-le de la même fonction que l'exercice précédent.
Terminal Python
5
Calculer — Les opérations mathématiques

Python est une calculatrice très puissante. La plupart des symboles sont identiques aux mathématiques, mais il y a quelques différences à connaître.

OpérationMathsPythonExempleRésultat
Additiona + b+7 + 310
Soustractiona − b-7 - 34
Multiplicationa × b*7 * 321
Divisiona ÷ b/7 / 23.5
Puissance ⚠ab**2 ** 101024
Division entière ⚠quotient//7 // 23
Reste (modulo) ⚠reste ÷%7 % 21
⚠️ La puissance — ne jamais écrire ^
  • En maths on écrit 210. En Python on écrit 2 ** 10.
  • Le symbole ^ existe en Python mais fait une opération binaire — rien à voir avec une puissance !
✏️ Exercice 8 — Calculer avec Python

Calcule 2 à la puissance 8 (c'est-à-dire 28) et affiche le résultat. Complète le symbole Python pour la puissance :

exercice8.py
resultat = 2  8
print(resultat)   # doit afficher 256
Ce n'est pas le symbole ^ du clavier. En Python, la puissance s'écrit avec deux fois le même caractère.
Terminal Python
🧩
Puzzle — Remets le code dans le bon ordre

Ces 4 lignes de code sont dans le désordre. Réordonne-les à l'aide des flèches ▲▼ (ou glisse-dépose sur desktop) pour que le programme calcule et affiche correctement 46.5.

🧩 Jeu d'ordonnancement
  • ⠿
    resultat = prix * quantite
  • ⠿
    prix = 15.5
  • ⠿
    print(resultat)
  • ⠿
    quantite = 3
Terminal Python — exécution
6
Prendre des décisions — if / else

Jusqu'ici Python exécutait toutes les lignes dans l'ordre. Maintenant on va lui apprendre à choisir : « Si cette condition est vraie, fais ça — sinon, fais autre chose. »

📘 Définition

Une condition permet d'exécuter un bloc de code seulement si quelque chose est vrai. C'est l'équivalent du « Si … Alors … Sinon … » qu'on utilise en algorithmique.

⚠️ Deux règles absolues
  • La ligne if se termine obligatoirement par : (deux-points).
  • Le bloc qui suit doit être décalé de 4 espaces (indentation). C'est ainsi que Python sait que ces lignes « appartiennent » au if.
🚉 La métaphore du Chef de Gare

Pour comprendre l'indentation et le : une bonne fois pour toutes, imagine un chef de gare qui donne des ordres à ses équipes.

Le mot if (ou for, ou def) joue le rôle du chef. Le : en fin de ligne signifie littéralement : « Attention, voici mes ordres : ». Les lignes indentées (décalées de 4 espaces) sont les subordonnés qui obéissent à cet ordre.

if temperature > 30: ← Le Chef annonce ses ordres print("Il fait chaud !") ← Subordonné n°1 (obéit au if) print("Bois de l'eau.") ← Subordonné n°2 (obéit aussi) print("Programme terminé.") ← Hors du bloc (n'obéit PAS au if)
Ligne non indentée = chef qui donne l'ordre. Se termine par :.
Ligne indentée de 4 espaces = subordonné qui obéit au chef juste au-dessus.
Ligne revenue à la marge = hors du bloc, s'exécute toujours.

Un subordonné mal aligné (trop à gauche ou trop à droite) crée la confusion : Python ne sait plus à quel chef il obéit et lève une IndentationError. C'est comme un employé qui rejoindrait la mauvaise équipe — ça ne peut pas fonctionner.

🔍 Exemple — Majeur ou mineur ?
age.py
age = int(input("Quel est ton âge ? "))

if age >= 18:
    print("Tu es majeur(e).")
else:
    print("Tu es mineur(e).")
if age >= 18:Python vérifie si la valeur dans la boîte age est supérieure ou égale à 18.
Si vraiIl exécute la ligne indentée sous le if → affiche "Tu es majeur(e)."
Si fauxIl saute au else → affiche "Tu es mineur(e)."
📐 Les opérateurs de comparaison
==
égal à
!=
différent de
>
strictement supérieur
>=
supérieur ou égal
<
strictement inférieur
<=
inférieur ou égal
⚠️ Piège n°2 — = vs ==
  • = → affectation (ranger une valeur dans une boîte)
  • == → comparaison (est-ce que deux valeurs sont égales ?)
  • Écrire if x = 5: provoque une erreur immédiate. Il faut écrire if x == 5:.
✏️ Exercice 9 — Compléter un if / else

Complète ce programme qui vérifie si une note est supérieure ou égale à 10. Attention : utilise le bon symbole de comparaison !

exercice9.py
note = 14
if note  10:
    print("Reçu(e) !")
else:
    print("Non reçu(e).")
On veut vérifier que la note est supérieure ou égale à 10. Comment écrit-on « ≥ » avec un clavier ?
Terminal Python
7
Répéter — La boucle for

Et si on voulait afficher les nombres de 1 à 100 ? Écrire 100 lignes print() serait absurde. La boucle permet de répéter automatiquement un bloc de code.

📘 Définition

La boucle for répète un bloc un nombre précis de fois. À chaque tour, la variable de boucle (souvent appelée i) prend une nouvelle valeur générée par range().

🔍 Exemple — Compter de 0 à 4
boucle.py
for i in range(5):
    print(i)
# Affiche : 0, puis 1, puis 2, puis 3, puis 4
range(5)Génère les valeurs 0, 1, 2, 3, 4. Attention : il y a bien 5 valeurs, mais elles vont de 0 à 4 (pas jusqu'à 5).
Tour 1i = 0 → print(0) → affiche 0
Tour 2i = 1 → print(1) → affiche 1
… et ainsi de suitejusqu'à i = 4 → print(4)
🎯 À retenirrange(n) génère n valeurs : de 0 à n−1. range(5) donne 0, 1, 2, 3, 4 — pas 5 !
📐 Deux formes de range()
range.py
range(5)        # → 0, 1, 2, 3, 4
range(1, 6)     # → 1, 2, 3, 4, 5  (la borne 6 est EXCLUE)
range(1, 11)    # → 1, 2, 3, ..., 10
✏️ Exercice 10 — Utiliser range()

Complète la boucle pour afficher les entiers de 1 à 10 (inclus). Quelle valeur donner à range(1, ?) pour que la boucle s'arrête à 10 ?

exercice10.py
for i in range(1, ):
    print(i)
La borne de droite de range(a, b) est toujours exclue. Si tu veux aller jusqu'à 10, quel nombre faut-il écrire ?
Terminal Python
7b
Répéter sous condition — La boucle while

La boucle for répète un nombre connu à l'avance de tours. Mais parfois, on veut répéter tant qu'une condition est vraie, sans savoir combien de tours il faudra. C'est le rôle de while.

📘 Définition

La boucle while (« tant que ») répète un bloc de code tant que la condition est vraie. Dès que la condition devient fausse, la boucle s'arrête et Python passe à la suite.

for

Nombre de tours connu à l'avance.

« Fais ça 10 fois. »

while

On ne sait pas combien de tours il faudra.

« Continue tant que tu n'as pas trouvé. »

🔍 Exemple — Compte à rebours
rebours.py
n = 5
while n > 0:
    print(n)
    n = n - 1
print("Décollage !")
Tour 1n = 5 → condition 5 > 0 vraie → affiche 5, puis n = 4
Tour 2n = 4 → condition vraie → affiche 4, puis n = 3
… etc.Jusqu'à n = 0 → condition 0 > 0 fausse → on sort de la boucle
AprèsAffiche "Décollage !"
🎯 À retenirLa condition est testée avant chaque tour. Si elle est fausse dès le départ, le bloc n'est jamais exécuté.
⚠️ Piège — La boucle infinie
  • Si la condition ne devient jamais fausse, la boucle tourne indéfiniment et le programme se bloque.
  • Toujours vérifier que le bloc modifie une variable qui rendra la condition fausse à un moment.
  • Exemple dangereux : while True: sans break → boucle infinie assurée.
⚠️ BOUCLE_INFINIE.pyDANGER
# ❌ NE PAS EXÉCUTER — boucle infinie !
x = 10
while x > 0:
    print(x)
    # On a oublié x = x - 1
    # → x reste 10, la condition est toujours vraie…
✏️ Exercice 13 — Compléter une boucle while

Complète le programme pour qu'il affiche les puissances de 2 inférieures à 100 (1, 2, 4, 8, 16, 32, 64). Quel mot-clé permet de répéter un bloc tant qu'une condition est vraie ?

exercice13.py
p = 1
 p < 100:
    print(p)
    p = p * 2
Terminal Python
8
Créer ses propres outils — Les Fonctions

On a déjà utilisé des fonctions que Python connaît (print, input, int…). On peut aussi créer les siennes : c'est comme fabriquer sa propre calculatrice spécialisée.

📘 Définition

Une fonction est un bloc de code qu'on donne un nom et qu'on peut réutiliser autant de fois qu'on veut. On la crée avec le mot-clé def (abréviation de define, « définir » en anglais). Elle peut recevoir des valeurs en entrée (les paramètres) et renvoyer un résultat avec return.

🔍 Exemple — Fonction qui double un nombre
double.py
# 1. Définir la fonction (fabriquer la machine)
def double(x):
    return x * 2

# 2. Appeler la fonction (utiliser la machine)
print(double(5))    # affiche 10
print(double(7))    # affiche 14
def double(x):On crée la machine nommée double. Le paramètre x est la valeur qu'on lui donne en entrée.
return x * 2return fait sortir le résultat de la fonction. Ici, elle renvoie x multiplié par 2.
double(5)On appelle la machine avec x = 5. Elle calcule 5 × 2 = 10 et le renvoie.
🎯 À retenirdef crée la fonction (une seule fois). Appeler la fonction (écrire son nom avec une valeur) l'exécute — autant de fois qu'on veut.
✅ return vs print()

return renvoie une valeur réutilisable. print() affiche un message à l'écran mais ne produit rien de réutilisable. Si une fonction n'a pas de return, son résultat est perdu.

La métaphore de la Boulangerie

La différence entre print() et return est le piège classique de tous les débutants en Python. Une image va te faire retenir ça pour toujours.

🪟
print() — Le pain derrière la vitrine

Imagine un boulanger qui te montre son pain à travers la vitrine. Tu le vois, tu sais qu'il est là, tu peux le décrire — mais tu ne peux pas le toucher, pas le manger, pas le mettre dans ton sac.

C'est exactement ce que fait print() : il affiche une valeur à l'écran pour que toi (humain) tu la voies. Mais le programme, lui, ne peut pas réutiliser cette valeur. Elle s'affiche… et disparaît.

❌ Tu vois le pain, mais tu rentres les mains vides.
🥖
return — Le pain dans le sachet

Cette fois, le boulanger te tend le pain dans un sachet. Tu peux le ramener chez toi, le mettre dans ton frigo (une variable), le donner à quelqu'un d'autre (le passer à une autre fonction), ou le trancher pour une recette (l'utiliser dans un calcul).

C'est ce que fait return : il sort la valeur de la fonction et la rend disponible pour la suite du programme.

✅ Tu repars avec le pain. Tu peux en faire ce que tu veux.
✅ Comment choisir ?
  • Tu veux afficher un message à l'utilisateur → print()
  • Tu veux utiliser le résultat dans la suite du programme (le stocker, l'additionner, le passer à une autre fonction) → return
  • Une fonction peut très bien contenir les deux : un return pour renvoyer la valeur, et des print() intermédiaires pour afficher des informations de débogage.
✏️ Exercice 11 — Écrire une fonction

Complète la fonction carre qui reçoit un nombre n et renvoie son carré (n²) :

exercice11.py
def carre(n):
     n ** 2

print(carre(4))   # doit afficher 16
print(carre(7))   # doit afficher 49
Quel mot anglais signifie « renvoyer » ? C'est le mot-clé qui permet à la fonction de donner son résultat.
Terminal Python
✏️ Exercice 12 — Script complet fil rouge ⭐

Voici un script complet qui combine tout ce qu'on a appris. Il manque 3 mots-clés. Retrouve-les !

pair_impair.pyScript complet ✦
# Fonction qui teste si n est pair
 est_pair(n):
    return n % 2 == 0

# Demander un entier à l'utilisateur
nombre = (input("Entrez un entier : "))

# Afficher le résultat
if est_pair(nombre):
    print(nombre, "est PAIR.")
:
    print(nombre, "est IMPAIR.")
Les 3 mots manquants : un mot pour créer une fonction (3 lettres), un mot pour convertir en entier (3 lettres), et un mot pour sinon (4 lettres).
Terminal Python
🎯 Résultat final
0 / 13
exercices réussis du premier coup
🐛
Chasse aux Bugs — Quiz Conceptuel

Tu as tout lu, tout pratiqué. Maintenant prouve-le ! Ces questions ne demandent pas de coder — juste de réfléchir. Clique sur la réponse que tu penses correcte.

🔍 Question 1 — Le mystère du signe égal

1Un élève veut vérifier si la variable score vaut 100. Il écrit : if score = 100:. Que se passe-t-il ?

A Python vérifie si score vaut 100, et le programme fonctionne normalement.
B Python affecte la valeur 100 à score, puis continue.
C Python lève immédiatement une SyntaxError et le programme ne démarre pas.
D Python affiche "True" car 100 = 100 en mathématiques.
✅ Bonne réponse : C.

Dans un if, Python attend une comparaison, pas une affectation. Le signe = est réservé à l'affectation (ranger une valeur dans une boîte). Pour comparer, il faut absolument == (double égal). Dès que Python voit if score = 100:, il refuse de continuer et lève une SyntaxError: invalid syntax avant même d'exécuter la première ligne. Le programme ne démarre tout simplement pas.

🔍 Question 2 — L'enquête sur l'indentation

2Un élève écrit un programme avec un if. La ligne print("Gagné !") est censée s'afficher uniquement si la condition est vraie, mais elle s'affiche toujours, même quand la condition est fausse. Quelle est la cause la plus probable ?

A La condition est mal écrite (mauvais opérateur de comparaison).
B Le print("Gagné !") n'est pas indenté : il est revenu à la marge gauche, hors du bloc if.
C Il manque les deux-points : à la fin de la ligne if.
D Python exécute toujours toutes les lignes, l'indentation n'a pas d'effet.
✅ Bonne réponse : B.

C'est le piège classique de l'indentation ! Quand une ligne est revenue à la marge gauche (0 espace de décalage), elle n'appartient plus au bloc if. Python l'exécute donc toujours, que la condition soit vraie ou fausse. C'est comme si le subordonné avait quitté l'équipe du chef de gare et travaillait maintenant pour tout le monde. Si le : était manquant (réponse C), Python lèverait une SyntaxError immédiate — le programme ne s'exécuterait même pas.

🔍 Question 3 — Le mystère de range()

3Un élève veut afficher les entiers de 1 à 6 inclus. Il écrit for i in range(1, 6):. Quels nombres va-t-il obtenir ?

A 1, 2, 3, 4, 5, 6
B 1, 2, 3, 4, 5
C 0, 1, 2, 3, 4, 5, 6
D 0, 1, 2, 3, 4, 5
✅ Bonne réponse : B — 1, 2, 3, 4, 5

C'est LE piège numéro un de range(). La règle est invariable : dans range(debut, fin), la borne fin est toujours exclue. range(1, 6) génère donc : 1, 2, 3, 4, 5 — le 6 n'est jamais atteint. Pour inclure 6, il faut écrire range(1, 7). Un truc pour s'en souvenir : pense à la borne de droite comme une porte fermée. La boucle avance jusqu'à la porte, mais ne la franchit jamais.
📖
Récapitulatif — Les mots essentiels de Python

Voici tous les mots-clés et fonctions que tu as appris dans cette leçon. Reviens ici pour te souvenir de leur rôle !

print()
Afficher un message ou une valeur à l'écran.
print("Bonjour")
print(42)
input()
Demander une valeur à l'utilisateur. Renvoie toujours du texte (str).
x = input("Valeur : ")
int() float() str()
Convertir une valeur d'un type à un autre.
int("15") → 15
float("3.14") → 3.14
= (affectation)
Ranger une valeur dans une variable (boîte). ≠ égalité mathématique !
age = 16
nom = "Lucas"
== (comparaison)
Comparer deux valeurs. Renvoie True ou False.
if age == 18:
if x == y:
if / else
Condition : exécuter un bloc seulement si quelque chose est vrai.
if note >= 10:
print("Reçu")
else:
print("Échec")
for … in range()
Boucle : répéter un bloc un nombre précis de fois.
for i in range(5):
print(i)
def … :
Créer une fonction réutilisable. Toujours suivi de : et d'un bloc indenté.
def double(x):
return x * 2
return
Renvoyer une valeur depuis une fonction, pour la réutiliser ensuite.
def carre(n):
return n ** 2
** // %
Opérateurs spéciaux : puissance, division entière, reste.
2 ** 10 → 1024
7 // 2 → 3
7 % 2 → 1
int · float · str · bool
Les types : entier, décimal, texte, vrai/faux.
5 → int
3.14 → float
"Salut" → str
True → bool
type()
Connaître le type d'une valeur (outil de débogage).
type(3.14)
→ <class 'float'>
⚠️ Les 4 règles d'or à ne jamais oublier
  • = stocke, == compare — ne jamais les confondre dans un if.
  • Toute ligne if, for, def, else se termine par :.
  • Le bloc qui suit doit être décalé de 4 espaces (indentation).
  • range(1, 10) va jusqu'à 9 — la borne droite est toujours exclue.
🔬
Console de test libre — Expérimente !

Tu peux maintenant tester du code Python librement. Écris tes propres instructions et clique sur Exécuter pour voir ce que Python ferait. C'est un simulateur : les fonctions input() ne sont pas supportées ici, mais tout le reste fonctionne !

🔬 Éditeur Python — Bac à sable
12345 678910
Terminal Python
#Prêt. Écris du code et clique sur Exécuter.
💡 Commandes supportées : print() · variables (x = 5) · opérations (+ - * / ** // %) · chaînes de caractères ("texte") · int() float() str() type() · conditions if/else · boucles for i in range() · fonctions def/return
🏠