10 questions. Une seule bonne réponse par question, et
l'explication s'affiche dès que vous avez répondu.
Le cours · La fiche
0 / 10
1En Python, à quoi sert l'indentation ?
Là où d'autres langages ouvrent des accolades, Python compte les espaces. Décaler une ligne change donc ce que fait le programme, sans la moindre erreur de syntaxe. Règle de survie : 4 espaces, et jamais de tabulations mêlées — l'œil ne voit pas la différence, l'interpréteur si.
2age = input("Âge : ") puis age + 1. Que se passe-t-il ?
input() rend toujours une chaîne, même quand l'utilisateur tape des chiffres. Additionner une chaîne et un entier lève une TypeError — contrairement à JavaScript, qui aurait concaténé en silence. D'où int(input(…)) ou float(input(…)).
3Que vaut 7 // 2 ?
// est la division entière : elle garde le quotient et jette la partie décimale. / donnerait 3.5 — et rend un float même quand ça tombe juste, 6/2 valant 3.0. Le reste, lui, s'obtient avec %.
4Comment parcourir les entiers de 1 à n inclus ?
range() exclut sa borne de fin.range(1, n) s'arrête donc à n-1 : il manque toujours le dernier tour. Le + 1 n'est pas une rustine, c'est la convention du langage — range(5) donne bien 0, 1, 2, 3, 4, soit cinq valeurs.
5Dans une liste t, quelle est la différence entre t.remove("b") et del t[1] ?
remove("b") cherche la première occurrence de cette valeur et lève ValueError si elle est absente. del t[1] supprime la case numéro 1, sans regarder son contenu, et lève IndexError si l'indice n'existe pas. Deux erreurs différentes, donc deux intentions différentes.
6Que fait set(liste) ?
Un ensemble n'a ni doublon ni ordre : c'est ce qui le rend rapide, et ce qui fait qu'on ne peut pas s'en servir pour dédoublonner en gardant l'ordre d'arrivée. Pour une sortie lisible, on enchaîne : sorted(set(liste)).
7Lire une clé absente d'un dictionnaire lève une KeyError. Comment l'éviter ?
d.get(cle, defaut) ne lève rien : elle rend la valeur, ou le repli. Attention au piège du détail : c'est bien KeyError pour un dictionnaire, et IndexError pour une liste — deux exceptions distinctes qu'on ne peut pas intercepter l'une pour l'autre.
8Une fonction sans instruction return renvoie :
Toute fonction Python rend une valeur ; à défaut, c'est None. C'est ce qui explique le classique x = ma_fonction() suivi de x qui vaut None : la fonction faisait un print. print est pour l'humain, return pour le programme.
9Pourquoi ouvrir un fichier avec with open(…) as f ?
Le bloc with garantit le close()à la sortie, quelle qu'elle soit — fin normale, return, ou exception au milieu. Un fichier resté ouvert peut garder des écritures en tampon, donc perdre des données que le programme croit enregistrées.
10L'utilisateur tape « douze » à la question de l'âge. Quelle exception intercepter ?
int("douze") reçoit le bon type — une chaîne — avec une valeur inconvertible : c'est ValueError. TypeError serait int([]), un type qui n'a rien à faire là. La distinction est exactement celle-là : mauvais type, ou bon type mais mauvaise valeur.