Ressources · 2ⁿᵈᵉ · Sciences numériques et technologie (SNT)
Programmation en Python
Variables et affectations, types, conditions, boucles bornées et non bornées, fonctions (SNT de 2nde)
À propos de cette page
Choisis ton niveau. Questions et réponses mélangées à chaque partie. Bonne chance !
Les 24 questions du QCM en version texte
Pour réviser sans écran ou imprimer : chaque question avec ses propositions ; la bonne réponse et son explication se déplient.
Niveau facile — 8 questions
Quelle instruction affecte la valeur 12 à la variable n ?
- A.
n == 12 - B.
n = 12 - C.
12 = n - D.
int n = 12
Réponse
B.
n = 12— En Python, l'affectation s'écrit nom = valeur. == est une comparaison, 12 = n est une erreur et Python ne déclare pas le type.- A.
Quel est le type de la valeur
2.0?- A.
int - B.
str - C.
bool - D.
float
Réponse
D.
float— Le point décimal fait de 2.0 un flottant, même si sa partie décimale est nulle.- A.
Que renvoie la fonction
input()?- A. Toujours une chaîne de caractères
- B. Toujours un nombre entier
- C. Un nombre flottant
- D. Un type qui dépend de ce que l'on a tapé
Réponse
A. Toujours une chaîne de caractères — input renvoie toujours une chaîne (str), même si l'on tape un nombre : il faut la convertir avec int ou float.
Combien de fois la boucle
for i in range(6):s'exécute-t-elle ?- A. 5 fois
- B. 7 fois
- C. 6 fois
- D. une infinité de fois
Réponse
C. 6 fois — range(6) donne 0, 1, 2, 3, 4, 5 : six valeurs, donc six tours.
Quel mot-clé sert à définir une fonction ?
- A.
function - B.
func - C.
def - D.
return
Réponse
C.
def— Une fonction se définit par def nom(paramètres): ; return sert à renvoyer le résultat.- A.
Quel opérateur teste l'égalité de deux valeurs ?
- A.
== - B.
= - C.
!= - D.
===
Réponse
A.
==— == compare ; = affecte ; != teste la différence ; === n'existe pas en Python.- A.
Quelle instruction utiliser quand on ne connaît pas à l'avance le nombre de répétitions ?
- A. Une boucle for avec range
- B. Une instruction if
- C. Une fonction sans return
- D. Une boucle while
Réponse
D. Une boucle while — La boucle while (non bornée) répète tant qu'une condition est vraie, sans nombre de tours fixé.
Que vaut
29 % 4?- A. 7
- B. 1
- C. 7.25
- D. 29
Réponse
B. 1 — 29 = 4 × 7 + 1 : % donne le reste, ici 1 (7 est le quotient, 7.25 le résultat de 29 / 4).
Niveau moyen — 8 questions
Après
a = 6,b = a + 4,a = b - a, que vaut a ?- A. 6
- B. 10
- C. 4
- D. -4
Réponse
C. 4 — b = 6 + 4 = 10, puis a = 10 − 6 = 4.
Que vaut l'expression
'ok' * 2?- A.
'okok' - B.
'ok2' - C. une erreur de type
- D.
'ok ok'
Réponse
A.
'okok'— Multiplier une chaîne par un entier la répète, sans espace : 'okok'.- A.
Quelles valeurs prend i dans
for i in range(3, 12, 4):?- A. 3, 7
- B. 3, 7, 11, 15
- C. 4, 8
- D. 3, 7, 11
Réponse
D. 3, 7, 11 — On part de 3 et on avance de 4 en 4 tant qu'on reste strictement sous 12 : 3, 7, 11.
Après
s = 0puisfor k in range(4): s = s + k, que vaut s ?- A. 10
- B. 6
- C. 4
- D. 3
Réponse
B. 6 — k prend les valeurs 0, 1, 2, 3 : s = 0 + 1 + 2 + 3 = 6 (et non 1 + 2 + 3 + 4 = 10).
Avec
x = 50,n = 0puiswhile x > 8:(bloc :x = x // 2etn = n + 1), que vaut n à la fin ?- A. 3
- B. 4
- C. 2
- D. la boucle ne s'arrête pas
Réponse
A. 3 — x vaut 25, puis 12, puis 6 ; 6 > 8 est faux : 3 tours, donc n = 3.
Avec
def f(x): return 2 * x + 3, que vautf(f(1))?- A. 5
- B. 10
- C. 13
- D. une erreur d'appel
Réponse
C. 13 — f(1) = 2 × 1 + 3 = 5, puis f(5) = 2 × 5 + 3 = 13. On peut appeler une fonction sur le résultat d'une autre.
Avec
n = 7, qu'affiche :if n % 2 == 0: print('pair')else: print('impair')?- A. pair
- B. impair
- C. 7
- D. rien du tout
Réponse
B. impair — 7 % 2 vaut 1, donc la condition est fausse : c'est le bloc else qui s'exécute.
Que vaut
int('8') + int(2.9)?- A. 11
- B. 10.9
- C.
'82' - D. 10
Réponse
D. 10 — int('8') vaut 8 et int(2.9) vaut 2 (partie décimale supprimée, pas d'arrondi) : 8 + 2 = 10.
Niveau difficile — 8 questions
Que vaut
0.1 + 0.2 == 0.3en Python ?- A.
True - B.
0.3 - C. une erreur de type
- D.
False
Réponse
D.
False— Les flottants sont stockés de façon approchée : 0.1 + 0.2 vaut 0.30000000000000004, différent de 0.3.- A.
Avec
k = 10puiswhile k != 0: k = k - 3, que se passe-t-il ?- A. La boucle tourne 3 fois puis s'arrête
- B. La boucle ne s'arrête jamais
- C. k vaut 0 à la fin
- D. k vaut 1 à la fin
Réponse
B. La boucle ne s'arrête jamais — k vaut 10, 7, 4, 1, −2, −5… et ne passe jamais par 0 : la condition k != 0 reste vraie, la boucle est infinie.
Avec
def g(x): print(x * 2), que vaut y aprèsy = g(4)?- A.
None - B. 8
- C.
'8' - D. une erreur à l'appel
Réponse
A.
None— g affiche 8 mais ne renvoie rien : sans return, une fonction renvoie None, qui est affecté à y.- A.
Quelle condition traduit « x est compris entre 5 et 9, bornes incluses » ?
- A.
x >= 5 or 9 >= x - B.
x > 5 and 9 > x - C.
x >= 5 and 9 >= x - D.
not (x >= 5 and 9 >= x)
Réponse
C.
x >= 5 and 9 >= x— Les deux conditions doivent être vraies en même temps (and), avec des inégalités larges. Avec or, tout nombre conviendrait.- A.
Quelle est la dernière valeur prise par i dans
for i in range(1, 10, 3):?- A. 10
- B. 7
- C. 9
- D. 8
Réponse
B. 7 — i prend 1, 4, 7 ; la valeur suivante, 10, n'est pas strictement inférieure à 10.
Pourquoi écrit-on
int(input())pour additionner deux nombres saisis ?- A. Parce que input() ajoute un espace
- B. Parce que + est interdit entre deux str
- C. Parce que int() arrondit la saisie
- D. Parce que input() renvoie une chaîne
Réponse
D. Parce que input() renvoie une chaîne — input renvoie une chaîne ; + entre deux chaînes est permis mais concatène ('3' + '4' donne '34').
Après
x = 5,x = x + 1, puis la lignex == 7, que vaut x ?- A. 7
- B.
True - C. 6
- D.
False
Réponse
C. 6 — x == 7 est une comparaison (qui vaut False) : elle ne modifie pas x, qui vaut toujours 6.
Laquelle de ces boucles s'exécute exactement 5 fois ?
- A.
for i in range(2, 7): - B.
for i in range(5, 10, 2): - C.
for i in range(1, 5): - D.
for i in range(0, 5, 2):
Réponse
A.
for i in range(2, 7):— range(2, 7) donne 2, 3, 4, 5, 6 : 5 valeurs. Les autres donnent 3, 4 et 3 valeurs.- A.
Moi c'est Ben, j'ai créé ce site pour aider le plus d'élèves possible, partout en France. Je peux aussi reprendre avec toi ce qui coince en cours particulier : en visio, ou à domicile si tu es à Marseille.
Soutien scolaire à Marseille · Cours particuliers au lycée · Aide aux devoirs