Prépa Python

Évaluation — chapitre 52 sur 54

Corrigés de l'examen blanc

Réponses commentées, explications et renvois vers les chapitres

50 minAbonnés

Ce chapitre reprend chaque question de l'examen blanc avec :

  • La bonne réponse.
  • Le code vérifié quand c'est pertinent.
  • Une explication pour comprendre et retenir.
  • Un renvoi vers le chapitre du cours à réviser si nécessaire.

Q1 — Quotient et reste de division

Réponse : b) 3 1

python
print(10 // 3, 10 % 3)

// est la division entière (quotient), % le modulo (reste). Renvoient des int quand les opérandes sont entiers.

📚 Révisions : Partie 1 — Calculs et variables.


Q2 — Multiplication de chaînes

Réponse : a) "abcabcabc"

python
print("abc" * 3)

L'opérateur * sur une chaîne et un entier répète la chaîne. Même chose pour les listes : [0] * 5 = [0, 0, 0, 0, 0].

📚 Révisions : Partie 1 — Chaînes de caractères.


Q3 — Valeur booléenne d'une liste vide

Réponse : b) False

python
print(bool([]))

Une collection vide ([], (), {}, set(), "") est falsy. De même pour 0, None, False. Tout le reste est truthy.

📚 Révisions : Partie 2 — Logique booléenne approfondie.


Q4 — Indexation négative

Réponse : a) "o"

python
print("Python"[-2])

Les indices négatifs comptent à partir de la fin : -1 = dernier, -2 = avant-dernier. Ici "Python" a 6 caractères, -2 = 'o'.

📚 Révisions : Partie 1 — Chaînes de caractères.


Q5 — range avec pas négatif

Réponse : b) [5, 4, 3, 2, 1]

python
print(list(range(5, 0, -1)))

range(start, stop, step) : stop est exclu. Ici on va de 5 à 1 inclus.

📚 Révisions : Partie 2 — Itération avancée et range.


Q6 — Ensemble et doublons

Réponse : a) 3

python
print(len({1, 2, 2, 3, 3, 3}))

Les ensembles n'autorisent pas les doublons. L'écriture littérale avec répétitions est valide, mais les doublons sont éliminés.

📚 Révisions : Partie 1 — Ensembles.


Q7 — Ajout dans un dict

Réponse : b) 3

python
d = {"a": 1, "b": 2}
d["c"] = 3
print(len(d))

d["c"] = 3 ajoute une nouvelle clé. Après, le dict contient 3 paires.

📚 Révisions : Partie 1 — Dictionnaires.


Q8 — if/elif/else

Réponse : c) 10

python
x = 5
if x > 0:
    x = x * 2
elif x < 0:
    x = -x
else:
    x = 0
print(x)

Le premier if est vrai (5 > 0), donc x = 5 * 2 = 10. Les autres branches ne sont pas exécutées (c'est elif/else, mutuellement exclusif).

📚 Révisions : Partie 1 — Conditions.


Q9 — Fonction récursive (Fibonacci)

Réponse : a) 5

python
def f(n):
    if n <= 1:
        return n
    return f(n - 1) + f(n - 2)

print(f(5))

C'est la suite de Fibonacci : 0, 1, 1, 2, 3, 5, 8, 13... f(5) = 5.

Piège : on peut confondre avec f(5) = 8 (le 5e terme en partant de 1). Avec f(0) = 0 et f(1) = 1, on a f(5) = 5.

📚 Révisions : Partie 2 — Fonctions récursives (notion abordée).


Q10 — Méthode inexistante sur une liste

Réponse : c) .add()

python
L = [1, 2, 3]
# L.add(4)   # ❌ AttributeError
L.append(4)   # ✅
print(L)

.add() existe sur les ensembles, pas les listes. Les listes utilisent .append().

📚 Révisions : Partie 1 — Listes.


Q11 — Slice inversé

Réponse : b) [3, 2, 1]

python
L = [1, 2, 3]
print(L[::-1])

Le slicing [::-1] inverse la liste. Syntaxe générique : [début:fin:pas]. Avec pas = -1, on parcourt à l'envers.

📚 Révisions : Partie 1 — Listes.


Q12 — is vs ==

Réponse : b) is

is teste l'identité (même objet en mémoire). == teste l'égalité (même valeur).

python
a = [1, 2, 3]
b = [1, 2, 3]
print(a == b, a is b)     # True False

📚 Révisions : Partie 2 — Références et mutabilité.


Q13 — Default mutable (PIÈGE TOSA CLASSIQUE)

Réponse : b) [1] puis [1, 2]

python
def f(x, L=[]):
    L.append(x)
    return L

print(f(1))
print(f(2))

Le L=[] est évalué une seule fois à la définition de la fonction. Toutes les instances partagent cette liste.

Correction : utiliser L=None puis if L is None: L = [].

📚 Révisions : Partie 2 — Fonctions (argument par défaut mutable).


Suite réservée aux abonnés

Débloquez l'intégralité du parcours

Les 54 chapitres, les exercices corrigés automatiquement, les examens blancs et le suivi de votre progression.

Voir les offresChapitres en accès libre

Déjà un accès ? Connectez-vous.