Un complément au Mini RPG Le projet donne du sens aux notions. Ici, tu les réutilises dans des situations variées : achats, températures, réservations et calculs.
Avance par étapes : lis un exemple, prédis sa sortie, puis résous les exercices avant d’ouvrir la correction.
Ton parcours
10 leçons · 20 exercices progressifs · 20 questions corrigées.
Utilise ton éditeur Python pour exécuter les exemples : cette page présente le cours et un QCM, sans moteur Python intégré. Elle reste utilisable hors connexion une fois téléchargée.
01 · Comprendre et pratiquer
Variables et affectation Un programme exécute les instructions dans l’ordre, de haut en bas.
Une variable est un nom associé à une valeur. Choisis un nom explicite, sans espace, qui ne commence pas par un chiffre.
Le signe = affecte la valeur calculée à droite au nom écrit à gauche. Il ne signifie pas « est égal à » dans une comparaison.
Une nouvelle affectation remplace la valeur précédente. # introduit un commentaire ignoré à l’exécution.
places = 24
places = places - 3
print(places)
# Trois places ont été réservées.Attention
Python distingue places et Places. Lire un nom avant son affectation provoque une erreur.
Exercice 1 Prédire
Sans exécuter, donne les valeurs finales de a et b après a = 4, b = a + 2, a = 10.
Vérification : 10 6
Un indice b conserve la valeur calculée au moment de son affectation.
Voir une correction après avoir essayé a = 4
b = a + 2
a = 10
print(a, b)Explique chaque ligne, puis modifie une donnée pour vérifier que tu sais adapter le programme.
Exercice 2 Programmer
Un stock contient 18 cahiers. On en vend 5 puis on en reçoit 12. Affiche le stock final.
Vérification : 25
Un indice Modifie la même variable à chaque étape.
Voir une correction après avoir essayé stock = 18
stock = stock - 5
stock = stock + 12
print(stock)Explique chaque ligne, puis modifie une donnée pour vérifier que tu sais adapter le programme.
02 · Comprendre et pratiquer
Types et calculs int représente les entiers ; float représente les nombres à virgule flottante, écrits avec un point.
str représente une chaîne de caractères entre guillemets. bool représente True ou False.
type(valeur) permet d’observer le type d’une valeur.
+, -, * et ** calculent une somme, une différence, un produit et une puissance.
/ effectue une division ; // donne le quotient entier arrondi vers moins l’infini ; % donne le reste. Pour les entiers positifs, on retrouve la division euclidienne.
Les parenthèses imposent l’ordre des calculs. Sinon, les puissances précèdent les produits et divisions, qui précèdent les sommes.
print(17 // 5, 17 % 5)
print(17 / 5)
print(2 + 3 * 4)
print((2 + 3) * 4)Attention
"12" est du texte et 12 est un entier. "12" + "3" donne "123". Les float peuvent représenter certaines valeurs de façon approchée.
Exercice 3 Appliquer
Convertis 135 minutes en heures et minutes. Affiche les deux nombres.
Vérification : 2 15
Un indice Utilise // et % avec 60.
Voir une correction après avoir essayé minutes = 135
print(minutes // 60, minutes % 60)Explique chaque ligne, puis modifie une donnée pour vérifier que tu sais adapter le programme.
Exercice 4 Programmer
Un rectangle mesure 8 sur 3. Calcule son aire et son périmètre dans deux variables, puis affiche-les.
Vérification : 24 22
Un indice Le périmètre vaut deux fois la somme des côtés.
Voir une correction après avoir essayé longueur = 8
largeur = 3
aire = longueur * largeur
perimetre = 2 * (longueur + largeur)
print(aire, perimetre)Explique chaque ligne, puis modifie une donnée pour vérifier que tu sais adapter le programme.
03 · Comprendre et pratiquer
Lire, convertir et afficher input("Question") affiche une question et renvoie le texte saisi.
int(texte) convertit un texte représentant un entier en int. float(texte) permet de lire un nombre décimal avec un point.
print(...) affiche ses arguments et termine normalement par un retour à la ligne. Les virgules séparent les arguments et ajoutent des espaces à l’affichage.
str(valeur) convertit une valeur en texte. Pour débuter, préfère print("Âge :", age) à une concaténation.
Dans les exercices suivants, les saisies sont supposées convertibles dans le type demandé, sauf mention contraire.
prix = "7"
quantite = int(prix)
print(prix + prix)
print(quantite + quantite)Attention
int("3.5") et int("bonjour") provoquent ValueError. La validation d’un intervalle ne traite pas cette erreur de conversion.
Exercice 5 Corriger
On veut ajouter 1 à un âge saisi. Corrige age = input("Âge ? ") puis print(age + 1).
Vérification : Pour 16 : 17
Un indice Convertis le texte avant le calcul.
Voir une correction après avoir essayé age = int(input("Âge ? "))
print(age + 1)Explique chaque ligne, puis modifie une donnée pour vérifier que tu sais adapter le programme.
Exercice 6 Programmer
Demande une température en degrés Celsius et affiche sa conversion en Fahrenheit : F = 1.8 × C + 32.
Vérification : Pour 0 : 32.0 ; pour 100 : 212.0
Un indice Une température peut être décimale.
Voir une correction après avoir essayé celsius = float(input("Celsius ? "))
print(1.8 * celsius + 32)Explique chaque ligne, puis modifie une donnée pour vérifier que tu sais adapter le programme.
04 · Comprendre et pratiquer
Comparer et combiner des conditions == teste l’égalité ; != teste la différence. <, <=, > et >= comparent deux valeurs.
Une comparaison produit un booléen : True ou False.
and est vrai si les deux conditions sont vraies. or est vrai si au moins une condition est vraie.
not inverse une condition. Les parenthèses rendent les combinaisons plus lisibles.
0 <= note <= 20 vérifie les deux bornes incluses. On peut aussi écrire note >= 0 and note <= 20.
age = 17
autorisation = True
print(age >= 18)
print(age >= 16 and autorisation)
print(not autorisation)À l’écran
False
True
False Attention
Pour accepter "oui" ou "o", écris reponse == "oui" or reponse == "o". Chaque comparaison doit être complète.
Exercice 7 Compléter
Avec n = 24, affiche si n est pair puis si n est compris entre 10 et 30 inclus.
Vérification : True
True
Un indice Un entier pair a un reste nul dans la division par 2.
Voir une correction après avoir essayé n = 24
print(n % 2 == 0)
print(10 <= n <= 30)Explique chaque ligne, puis modifie une donnée pour vérifier que tu sais adapter le programme.
Exercice 8 Tester
Écris une condition qui détecte une note hors de [0 ; 20]. Teste -1, 0, 20, 21 en changeant note.
Vérification : -1 : True ; 0 : False ; 20 : False ; 21 : True
Un indice Une seule borne dépassée suffit : utilise or.
Voir une correction après avoir essayé note = 21
print(note < 0 or note > 20)Explique chaque ligne, puis modifie une donnée pour vérifier que tu sais adapter le programme.
05 · Comprendre et pratiquer
Choisir avec if, elif et else if condition: exécute le bloc indenté seulement si la condition est vraie.
elif condition: teste une autre possibilité si les tests précédents ont échoué.
else: traite tous les cas restants. Il ne porte pas de condition.
Dans une chaîne if / elif / else, au plus un bloc est exécuté. Deux if indépendants peuvent tous deux s’exécuter.
Le deux-points ouvre le bloc. Indente de quatre espaces et aligne les instructions du même bloc.
age = 14
if age < 12:
prix = 5
elif age < 18:
prix = 8
else:
prix = 12
print(prix)Attention
L’ordre des tests compte : tester note >= 10 avant note >= 16 dans une chaîne peut masquer le cas « très bien ».
Exercice 9 Programmer
Affiche « négatif », « nul » ou « positif » selon la valeur de nombre. Teste -2, 0 et 5.
Vérification : Pour 0 : nul
Un indice Prévois trois cas exclusifs.
Voir une correction après avoir essayé nombre = 0
if nombre < 0:
print("négatif")
elif nombre == 0:
print("nul")
else:
print("positif")Explique chaque ligne, puis modifie une donnée pour vérifier que tu sais adapter le programme.
Exercice 10 Transférer
La livraison coûte 4 € si le panier est inférieur à 50 €, sinon elle est gratuite. Calcule le total. Teste 49, 50 et 80.
Vérification : 49 → 53 ; 50 → 50 ; 80 → 80
Un indice Le seuil 50 appartient au cas gratuit.
Voir une correction après avoir essayé panier = 50
if panier < 50:
total = panier + 4
else:
total = panier
print(total)Explique chaque ligne, puis modifie une donnée pour vérifier que tu sais adapter le programme.
06 · Comprendre et pratiquer
Répéter avec for et range for parcourt les éléments d’une séquence, par exemple les entiers produits par range ou les caractères d’un texte.
range(n) produit les entiers de 0 à n - 1. range(4) produit donc quatre valeurs.
range(debut, fin) inclut debut et exclut fin.
range(debut, fin, pas) fixe l’écart entre deux valeurs. Le pas ne peut pas être nul.
Le bloc indenté est exécuté une fois par valeur. Après le bloc, une instruction désindentée s’exécute une seule fois.
for numero in range(1, 4):
print("Tour", numero)
print("Terminé")
for lettre in "NSI":
print(lettre)À l’écran
Tour 1
Tour 2
Tour 3
Terminé
N
S
I Attention
range(1, 5) ne contient pas 5. range(5, 1) est vide : utilise un pas négatif pour descendre.
Exercice 11 Programmer
Affiche le compte à rebours 5, 4, 3, 2, 1 puis « Départ ! ».
Vérification : 5
4
3
2
1
Départ !
Un indice Pour descendre, le pas vaut -1 et la borne exclue vaut 0.
Voir une correction après avoir essayé for n in range(5, 0, -1):
print(n)
print("Départ !")Explique chaque ligne, puis modifie une donnée pour vérifier que tu sais adapter le programme.
Exercice 12 Transférer
Affiche les dix premiers multiples positifs de 7, un par ligne.
Vérification : 7, 14, 21, 28, 35, 42, 49, 56, 63, 70 (une valeur par ligne)
Un indice Parcours les multiplicateurs de 1 à 10 inclus.
Voir une correction après avoir essayé for i in range(1, 11):
print(7 * i)Explique chaque ligne, puis modifie une donnée pour vérifier que tu sais adapter le programme.
07 · Comprendre et pratiquer
Compteurs, accumulateurs et traces Un compteur mesure un nombre d’événements. Initialise-le à zéro avant la boucle et augmente-le quand la condition est satisfaite.
Un accumulateur construit une somme ou un produit. Une somme commence à 0 ; un produit commence à 1.
total += valeur est une écriture abrégée de total = total + valeur.
Pour comprendre une boucle, note la valeur des variables après chaque tour dans un tableau de trace.
Le placement de print à l’intérieur ou à l’extérieur de la boucle distingue les résultats intermédiaires du résultat final.
somme = 0
for n in range(1, 5):
somme = somme + n
print(n, somme)À l’écran
1 1
2 3
3 6
4 10 Attention
Initialiser somme = 0 dans la boucle efface le résultat des tours précédents.
Exercice 13 Programmer
Calcule la somme des entiers de 1 à 100 inclus avec une boucle, puis affiche une seule fois le résultat.
Vérification : 5050
Un indice Initialise avant la boucle ; affiche après.
Voir une correction après avoir essayé somme = 0
for n in range(1, 101):
somme += n
print(somme)Explique chaque ligne, puis modifie une donnée pour vérifier que tu sais adapter le programme.
Exercice 14 Combiner
Compte les multiples de 3 entre 1 et 20 inclus avec for et if.
Vérification : 6
Un indice À chaque multiple trouvé, augmente le compteur de 1.
Voir une correction après avoir essayé compteur = 0
for n in range(1, 21):
if n % 3 == 0:
compteur += 1
print(compteur)Explique chaque ligne, puis modifie une donnée pour vérifier que tu sais adapter le programme.
08 · Comprendre et pratiquer
Répéter tant que : while while condition: répète son bloc tant que la condition est vraie.
La condition est testée avant chaque tour : si elle est fausse au départ, aucun tour n’est exécuté.
Initialise les variables avant la boucle, fais évoluer l’état dans le bloc et identifie ce qui rendra la condition fausse.
Utilise souvent for lorsque le parcours est connu, et while lorsque l’arrêt dépend d’un seuil ou d’une saisie.
Une boucle qui ne peut pas atteindre sa condition d’arrêt peut tourner indéfiniment.
energie = 3
while energie > 0:
print(energie)
energie -= 1
print("Repos")Attention
Oublier energie -= 1 maintient la condition vraie. Dans un éditeur Python, interromps alors le programme avec le bouton Stop.
Exercice 15 Corriger
Une boucle commence avec n = 3 et répète print(n) tant que n > 0. Ajoute la ligne qui la termine.
Vérification : 3
2
1
Un indice Fais diminuer n dans le bloc.
Voir une correction après avoir essayé n = 3
while n > 0:
print(n)
n -= 1Explique chaque ligne, puis modifie une donnée pour vérifier que tu sais adapter le programme.
Exercice 16 Transférer
Tu as 20 €. Tu ajoutes 7 € par semaine. Combien de semaines faut-il pour atteindre au moins 50 € ?
Vérification : 5 55
Un indice Compte les semaines et augmente la somme à chaque tour.
Voir une correction après avoir essayé argent = 20
semaines = 0
while argent < 50:
argent += 7
semaines += 1
print(semaines, argent)Explique chaque ligne, puis modifie une donnée pour vérifier que tu sais adapter le programme.
09 · Comprendre et pratiquer
Saisies répétées et choix de boucle Pour redemander une saisie, lis une première valeur avant while, puis renouvelle-la dans le bloc.
Une sentinelle est une valeur spéciale qui termine la saisie. Elle ne doit pas être ajoutée au résultat.
break interrompt immédiatement la boucle la plus proche. C’est un outil complémentaire ; commence par savoir écrire une condition d’arrêt explicite.
Teste aussi les cas où la première saisie est déjà valide ou déjà la sentinelle.
nombre = 1
total = 0
while nombre <= 3:
total += nombre
nombre += 1
print(total)Attention
Une saisie répétée doit pouvoir changer la condition. Ne suppose pas que l’utilisateur fera toujours un choix valide.
Exercice 17 Valider
Demande un entier entre 1 et 5 inclus et recommence tant qu’il est hors intervalle. Les saisies sont des entiers.
Vérification : Pour 0, 6, 3 : Choix accepté : 3
Un indice Redemande la valeur dans le while.
Voir une correction après avoir essayé choix = int(input("Entier de 1 à 5 ? "))
while choix < 1 or choix > 5:
choix = int(input("Recommence : "))
print("Choix accepté :", choix)Explique chaque ligne, puis modifie une donnée pour vérifier que tu sais adapter le programme.
Exercice 18 Combiner
Additionne les entiers saisis jusqu’à la saisie de 0. Affiche seulement le total final, sans compter 0.
Vérification : 4, -1, 0 → 3 ; 0 → 0
Un indice Lis avant la boucle, puis à la fin de chaque tour.
Voir une correction après avoir essayé total = 0
n = int(input("Entier, 0 pour finir : "))
while n != 0:
total += n
n = int(input("Entier, 0 pour finir : "))
print(total)Explique chaque ligne, puis modifie une donnée pour vérifier que tu sais adapter le programme.
10 · Comprendre et pratiquer
Fonctions : paramètre, appel et return def nom(parametre): définit une fonction. Son corps ne s’exécute que lorsqu’on l’appelle.
Un paramètre est un nom utilisé dans la définition. Un argument est la valeur fournie lors d’un appel.
return renvoie une valeur à l’appelant et termine la fonction. Sans return exécuté, la fonction renvoie None.
print affiche une valeur mais ne la renvoie pas à l’appelant. Une fonction de calcul renvoie généralement son résultat.
Les variables créées dans une fonction sont normalement locales à cet appel. Utilise des paramètres et return pour échanger des valeurs.
def carre(x):
return x * x
resultat = carre(5)
print(resultat)
print(carre(3) + 1)Attention
Ne remplace pas return par print si tu veux réutiliser le résultat dans un calcul.
Exercice 19 Programmer
Écris une fonction est_pair(n) qui renvoie un booléen. Teste 8 et 9.
Vérification : True
False
Un indice Tu peux renvoyer directement une comparaison.
Voir une correction après avoir essayé def est_pair(n):
return n % 2 == 0
print(est_pair(8))
print(est_pair(9))Explique chaque ligne, puis modifie une donnée pour vérifier que tu sais adapter le programme.
Exercice 20 Synthèse
Écris somme_jusqua(n), pour n entier positif ou nul, qui renvoie la somme de 1 à n avec une boucle. Teste 0, 1 et 5.
Vérification : 0 1 15
Un indice L’accumulateur vaut 0 ; range(1, n + 1) inclut n.
Voir une correction après avoir essayé def somme_jusqua(n):
total = 0
for i in range(1, n + 1):
total += i
return total
print(somme_jusqua(0), somme_jusqua(1), somme_jusqua(5))Explique chaque ligne, puis modifie une donnée pour vérifier que tu sais adapter le programme.
11 · Devenir autonome
Tester, expliquer, transférer Une méthode en quatre étapes
Prédire le résultat sur papier. Écrire et exécuter dans ton éditeur Python. Comparer au résultat attendu et tester les bornes. Modifier une contrainte sans regarder la correction. Reconnaître les erreurs SyntaxError / IndentationError : vérifie les deux-points, les parenthèses et l’indentation.
NameError : vérifie le nom et son affectation avant utilisation.
TypeError / ValueError : vérifie le type des valeurs et la conversion des saisies.
Erreur logique : le programme s’exécute mais donne un mauvais résultat ; construis une trace des variables.
Quel outil choisir ? Besoin Outil Choisir selon une condition if / elif / else Parcourir un texte ou un intervalle connu for Recommencer jusqu’à une saisie valide while Réutiliser un calcul avec d’autres valeurs def et return
Avant de dire « je maîtrise » Je sais prédire une sortie et tracer une boucle. Je sais traiter une borne, un cas nul et un parcours vide. Je sais corriger une erreur et expliquer sa cause. Je sais écrire une variante dans un autre contexte sans correction. Le QCM vérifie tes repères ; il ne remplace pas l’écriture de code.
Mettre ces notions en pratique dans le Mini RPG · Poursuivre avec les listes
12 · Vérifier ses repères
QCM interactif · 20 questions Une seule bonne réponse par question. Réponds puis corrige : chaque réponse est expliquée. Tu peux recommencer autant que nécessaire.
Corriger mes réponses Recommencer