
26 exercices classés par difficulté (★ facile, ★★ moyen, ★★★ difficile). Cherche d’abord sans regarder le corrigé !
1 Reconnaître les types ★★★
Donne le type Python (int, float, str ou bool) de chacune des valeurs suivantes :
- 12
- 3.0
- « 12 »
- True
- 7 / 2
- 4 ** 2
- « Vrai »
- 10 / 5
2 Échange de deux variables ★★★
Que fait ce programme ? Donne les valeurs de a et b après chaque ligne, puis l’affichage.
a = 4 b = 9 a = a + b b = a - b a = a - b print(a, b)
3 Quatre affichages ★★★
Qu’affiche ce programme ? Explique la différence entre les lignes 3 et 4.
x = 5
print("x vaut", x)
print("x vaut " + str(x))
print("x * 2")
print(x * 2)
4 Prix toutes taxes comprises ★★★
Écris un programme qui demande un prix hors taxe en euros et affiche le prix TTC avec une TVA de 20 %. Teste-le avec 50 €.
5 Valeurs de conditions ★★★
Pour x = 7, donne la valeur (True ou False) de chaque condition :
- x > 5 and x < 10
- x <= 3 or x == 7
- x != 7
- not (x > 9)
- x < 7 or x > 7
6 Lire un if else ★★★
Qu’affiche ce programme si l’utilisateur saisit 15 ? 18 ? 40 ?
age = int(input("Age : "))
if age < 18:
print("Mineur")
else:
print("Majeur")
print("Merci")
7 Appeler une fonction ★★★
Calcule à la main f(4), f(−2) et f(0) pour la fonction ci-dessous, puis donne l’affichage du programme.
def f(x):
y = 3 * x - 7
return y
print(f(4), f(-2), f(0))
8 Deux boucles for ★★★
Qu’affiche ce programme ? Combien de tours fait chaque boucle ?
for i in range(1, 5):
print(i * i)
for j in range(3):
print("Top", j)
9 Tarif de piscine ★★★
Une piscine fait payer 3 € aux moins de 12 ans, 4,50 € de 12 à 17 ans inclus et 6,50 € à partir de 18 ans. Écris un programme qui demande l’âge et affiche le tarif, puis teste-le avec 11, 12, 17 et 18.
10 Pair ou impair ★★★
Écris un programme qui demande un entier n et indique s’il est pair ou impair. Précise l’expression qui permet de le tester et vérifie avec 38 et 51.
11 Fonctions du rectangle ★★★
Écris deux fonctions perimetre et aire qui prennent en paramètres la longueur L et la largeur l (en cm) d’un rectangle. Que renvoient perimetre(8, 3) et aire(8, 3) ? Quelle est l’aire d’un rectangle de 12,5 cm sur 4 cm ?
12 Chasse aux erreurs ★★★
Ce programme est censé afficher « dix » si on saisit 10, et « autre » sinon. Il contient quatre erreurs. Trouve-les et recopie le programme corrigé.
n = int(input("Nombre : "))
if n = 10
print("dix")
else
print("autre")
13 Somme des entiers ★★★
1. Quelle somme calcule ce programme ? Donne l’affichage.
s = 0
for i in range(1, 11):
s = s + i
print(s)
2. Modifie la boucle pour additionner uniquement les entiers impairs de 1 à 9. Que trouves-tu ?
14 Table de multiplication ★★★
Écris un programme qui affiche la table de multiplication de 7, de 7 × 1 à 7 × 10. Combien de lignes sont affichées ? Quelle est la dernière ?
15 Placement à 5 % ★★★
Un capital de 1 000 € est placé à intérêts composés au taux de 5 % par an. On veut savoir au bout de combien d’années il dépassera 1 200 €.
- Écris un programme avec une boucle while.
- Quelle valeur approximative est affichée ? Conclus.
16 Vrai ou faux ? ★★★
Dis si chaque affirmation est vraie ou fausse, en justifiant.
- L’instruction x = x + 1 est impossible car une valeur ne peut pas être égale à elle-même plus 1.
- input(« n ») renvoie un nombre entier si l’utilisateur tape 5.
- range(4) fait passer la variable par les valeurs 1, 2, 3, 4.
- Dans if / elif / else, plusieurs blocs peuvent être exécutés au même passage.
17 Compte à rebours ★★★
Que fait ce programme ? Quelles valeurs prend i ? Que changer pour compter de 10 à 1 de 1 en 1 ?
for i in range(10, -1, -2):
print(i)
print("Decollage !")
18 Fonction booléenne ★★★
1. Quel ensemble de réels x vérifie « x >= -1 and x < 8 » ?
2. Donne l’affichage de ce programme, puis écris une fonction hors_intervalle(x) qui renvoie le contraire.
def dans_intervalle(x):
return x >= -1 and x < 8
print(dans_intervalle(-1), dans_intervalle(8), dans_intervalle(3.5), dans_intervalle(-4))
19 Tarif de parking ★★★
Un parking facture 1,50 € l’heure pour les deux premières heures, puis 2 € par heure supplémentaire, avec un plafond de 15 € par jour. (On compte des heures entières, de 1 à 24.)
- Calcule à la main le prix pour 1 h, 4 h, 10 h et 20 h.
- Écris une fonction parking(h) qui renvoie le prix.
20 Croissance d’une population ★★★
Une ville compte 5 000 habitants et sa population augmente de 4 % par an. On cherche en combien d’années elle dépassera 6 000 habitants.
- Complète le programme ci-dessous (cases …).
- Que renvoie-t-il ? Justifie par un calcul.
pop = 5000
annees = 0
while ... :
pop = ...
annees = annees + 1
print(annees)
21 Premier carré supérieur à 500 ★★★
Écris un programme qui détermine le plus petit entier naturel n tel que n² > 500. Quelle valeur trouve-t-il ? Vérifie à la main.
22 Compter les diviseurs ★★★
1. Explique ce que fait la fonction ci-dessous.
def nb_diviseurs(n):
c = 0
for d in range(1, n + 1):
if n % d == 0:
c = c + 1
return c
2. Donne l’affichage de nb_diviseurs(12), nb_diviseurs(17) et nb_diviseurs(36) en listant les diviseurs.
3. Comment utiliser cette fonction pour savoir si un entier n ≥ 2 est premier ?
23 Factorielle ★★★
La factorielle d’un entier n, notée n!, est le produit 1 × 2 × … × n (et 0! = 1). Complète la fonction puis donne factorielle(5).
def factorielle(n):
p = 1
for k in range(..., ...):
p = ...
return p
24 Remboursement d’un prêt ★★★
On emprunte 2 000 €. Chaque mois, la dette augmente de 1 % d’intérêts, puis on rembourse 150 €. On s’arrête quand la dette est nulle ou négative.
- Calcule la dette après le 1er mois, puis après le 2e mois.
- Écris un programme qui donne le nombre de mois nécessaires. Interprète le résultat.
25 Fonctions qui s’appellent ★★★
On considère le programme ci-dessous.
def carre(x):
return x * x
def somme_carres(a, b):
return carre(a) + carre(b)
def est_rectangle(a, b, c):
return somme_carres(a, b) == carre(c)
print(somme_carres(3, 4))
print(est_rectangle(3, 4, 5))
print(est_rectangle(5, 6, 8))
1. Donne l’affichage en justifiant chaque ligne.
2. Quelle propriété de géométrie cette fonction permet-elle de vérifier ? Le triangle de côtés 5, 6 et 8 est-il rectangle ?
26 Indice de masse corporelle ★★★
L’indice de masse corporelle est IMC = masse (en kg) ÷ taille² (en m). On le classe selon les seuils : moins de 18,5 « maigreur » ; de 18,5 inclus à 25 exclu « normal » ; de 25 inclus à 30 exclu « surpoids » ; 30 et plus « obesite ».
Écris les fonctions imc et classe, puis détermine la catégorie des personnes : (70 kg ; 1,75 m), (50 kg ; 1,80 m), (95 kg ; 1,70 m).

