QCM : Premières notions de Python — 20 questions

Questions et réponses du QCM

1. Quel opérateur Python permet d’obtenir le quotient entier d’une division euclidienne ?

Le symbole de pourcentage %
La double barre oblique ////
La barre oblique //
L’astérisque double ∗∗**

La double barre oblique $$//$$

Explication

L’opérateur //// calcule le quotient entier de la division euclidienne. L’opérateur % fournit le reste, tandis que // produit un quotient réel.

2. Quelles sont les valeurs obtenues en Python pour 14/414/4, 14//414//4 et 14%414\%4, dans cet ordre ?

22, 33 et 3.53.5
3.53.5, 22 et 33
33, 3.53.5 et 22
3.53.5, 33 et 22

$$3.5$$, $$3$$ et $$2$$

Explication

La division réelle 14/414/4 vaut 3.53.5, la division entière 14//414//4 vaut 33 et le reste 14%414\%4 vaut 22. Confondre les deux derniers résultats revient à intervertir quotient et reste.

3. Comment définit-on une chaîne de caractères en Python ?

Un calcul placé entre crochets simples ou doubles
Un nombre placé entre parenthèses simples ou doubles
Une instruction précédée d’un symbole de commentaire
Un texte placé entre guillemets simples ou doubles

Un texte placé entre guillemets simples ou doubles

Explication

Une chaîne de caractères est un texte délimité par des guillemets simples ou doubles. Les parenthèses servent notamment à regrouper des expressions, et les crochets délimitent notamment des listes.

4. Quelle instruction affiche dans la console le résultat d’un calcul en Python ?

L’instruction return()return()
L’instruction type()type()
L’instruction print()print()
L’instruction input()input()

L’instruction $$print()$$

Explication

L’instruction print()print() affiche un texte ou le résultat d’un calcul dans la console. L’instruction input()input() sert à recueillir une saisie, tandis que type()type() indique le type d’une valeur.

5. Quelle description correspond à une variable en Python ?

Un symbole réservé à l’affichage d’un résultat calculé
Un nom associé à un emplacement mémoire et à une valeur
Un texte placé entre guillemets dans une instruction
Un opérateur utilisé pour diviser deux nombres

Un nom associé à un emplacement mémoire et à une valeur

Explication

Une variable associe un nom à un emplacement de la mémoire et à une valeur. Un texte entre guillemets est une chaîne de caractères, tandis qu’un opérateur sert à effectuer une opération.

6. Que réalise l’instruction a=3a = 3 en Python ?

Elle vérifie si la variable aa est égale à 33
Elle affiche la valeur 33 dans la console
Elle affecte la valeur 33 à la variable aa
Elle compare deux variables nommées aa et 33

Elle affecte la valeur $$3$$ à la variable $$a$$

Explication

L’instruction a=3a = 3 associe la valeur 33 à la variable aa. Le symbole ==== sert à tester une égalité, ce qui correspond à une opération différente.

7. Que signifie la distinction entre ma_variablema\_variable et Ma_variableMa\_variable en Python ?

Ils désignent deux variables différentes
Le premier nom devient une constante numérique
Ils désignent une même variable avec deux valeurs
Le second nom est transformé automatiquement en texte

Ils désignent deux variables différentes

Explication

Python distingue les majuscules des minuscules, donc ces deux écritures correspondent à deux noms de variables différents. Elles ne sont pas automatiquement interprétées comme deux formes d’un même identifiant.

8. Que réalise l’instruction `S = S + 100` lorsque S vaut 25 ?

Elle ajoute 100 à S sans produire de nouvelle affectation
Elle calcule 125 et stocke cette valeur dans S
Elle calcule 125 sans modifier la variable S
Elle remplace S par 100 avant d’effectuer l’addition

Elle calcule 125 et stocke cette valeur dans S

Explication

L’instruction utilise la valeur actuelle de S, lui ajoute 100, puis réaffecte le résultat à S, qui devient donc 125. L’expression `S + 100` écrite seule calculerait une valeur sans la remettre dans la variable.

9. Quelle suite d’affectations échange correctement les valeurs de a et b en utilisant c comme variable temporaire, avec a = 9 et b = 11 au départ ?

c = b, b = a, a = c
c = a, a = b, b = c
a = c, c = b, b = a
a = b, c = a, b = c

c = a, a = b, b = c

Explication

Il faut d’abord sauvegarder l’ancienne valeur de a dans c, puis placer b dans a et enfin c dans b. Commencer par modifier a sans sauvegarder sa valeur ferait perdre l’une des deux valeurs initiales.

10. Dans quelle situation une boucle `for` est-elle particulièrement adaptée ?

Lorsque le bloc doit s’exécuter après une erreur
Lorsque le nombre de répétitions à effectuer est connu
Lorsque chaque répétition dépend d’une saisie différente
Lorsque le programme doit attendre une condition imprévisible

Lorsque le nombre de répétitions à effectuer est connu

Explication

Une boucle `for` sert à répéter un bloc lorsque le nombre de répétitions est connu ou déterminé par une séquence. Une condition imprévisible correspond davantage à une répétition contrôlée par une condition.

11. Quelles règles délimitent correctement le bloc d’une boucle `for` en Python ?

La déclaration se termine par un point et le bloc reprend à la ligne suivante
La déclaration se termine par une virgule et le bloc commence après une accolade
La déclaration se termine par deux points et le bloc partage une indentation
La déclaration se termine par un point-virgule et le bloc utilise des parenthèses

La déclaration se termine par deux points et le bloc partage une indentation

Explication

En Python, les deux points annoncent le bloc et des lignes alignées par une indentation identique appartiennent à ce bloc. Les parenthèses et les accolades ne constituent pas la syntaxe utilisée pour le délimiter.

12. Après l’exécution de `for i in range(10): print(i*i)`, quelle valeur contient i à la fin de la boucle ?

81
0
9
10

9

Explication

`range(10)` fournit les valeurs de 0 à 9, et la dernière valeur affectée à i est donc 9. La valeur 10 est la borne exclue, tandis que 81 est le dernier carré affiché.

13. Combien d’éléments contient `range(7)` et quelle est sa dernière valeur ?

Huit éléments, avec 7 comme dernière valeur
Sept éléments, avec 6 comme dernière valeur
Six éléments, avec 6 comme dernière valeur
Sept éléments, avec 7 comme dernière valeur

Sept éléments, avec 6 comme dernière valeur

Explication

`range(7)` parcourt les entiers de 0 à 6, ce qui donne sept éléments et une dernière valeur égale à 6. La borne 7 indique le nombre d’éléments et n’est pas incluse dans le parcours.

14. Quelles valeurs sont parcourues par `range(3, 8)` ?

2, 3, 4, 5, 6 et 7
3, 4, 5, 6 et 7
4, 5, 6 et 7
3, 4, 5, 6, 7 et 8

3, 4, 5, 6 et 7

Explication

Avec deux bornes, `range(a,b)` commence à a et s’arrête avant b : ici, les valeurs vont donc de 3 à 7. La valeur 8 est exclue, conformément à la règle de la borne finale exclue.

15. Quelles valeurs sont produites par `range(2, 11, 3)` ?

2, 5, 8 et 11
2, 5 et 8
2, 3, 4, 5, 6, 7, 8, 9 et 10
3, 6 et 9

2, 5 et 8

Explication

Le parcours commence à 2 et augmente de 3 à chaque étape, ce qui donne 2, 5 puis 8 avant d’atteindre la borne 11. Le pas règle l’écart entre les valeurs, tandis que la borne finale reste exclue.

16. Quelle procédure permet de calculer correctement une somme dans une boucle ?

Initialiser la somme au dernier terme, soustraire les précédents, puis afficher le total
Initialiser la somme à 0, remplacer sa valeur par chaque terme, puis afficher le premier terme
Initialiser la somme à 1, multiplier chaque terme, puis afficher la dernière valeur
Initialiser la somme à 0, ajouter chaque terme, puis afficher la valeur finale

Initialiser la somme à 0, ajouter chaque terme, puis afficher la valeur finale

Explication

Une accumulation commence par une somme nulle, à laquelle chaque terme est ajouté avant l’affichage du résultat final. Remplacer la somme par chaque terme ne conserve pas l’accumulation progressive recherchée.

17. Quelle valeur obtient l’instruction `somme = 0` suivie de `for i in range(20): somme = somme + i` ?

180, car les valeurs de 1 à 19 sont additionnées
200, car les valeurs de 1 à 20 sont additionnées
190, car les valeurs de 0 à 19 sont additionnées
210, car les valeurs de 0 à 20 sont additionnées

190, car les valeurs de 0 à 19 sont additionnées

Explication

`range(20)` fournit les entiers de 0 à 19, dont la somme vaut 190. La valeur 210 correspondrait à une somme allant jusqu’à 20, ce qui nécessiterait `range(21)`.

18. Dans deux boucles `for` imbriquées, combien de fois la boucle interne est-elle parcourue ?

Elle est exécutée une seule fois après la fin de la boucle externe
Elle est exécutée avant chaque valeur parcourue par la boucle externe
Elle est exécutée lorsque les deux boucles commencent au même indice
Elle est exécutée pour chaque valeur parcourue par la boucle externe

Elle est exécutée pour chaque valeur parcourue par la boucle externe

Explication

La boucle interne redémarre pour chaque valeur traitée par la boucle externe. Elle ne s’exécute donc pas simplement une fois après celle-ci, mais se répète à chaque itération externe.

19. Que calcule la boucle `for i in range(1,n+1): somme += i**2` lorsque n=20n = 20 ?

La somme des entiers de 1 à 20, soit 210
La somme des carrés de 1 à 20, soit 2870
La somme des carrés de 0 à 19, soit 2470
La somme des cubes de 1 à 20, soit 44100

La somme des carrés de 1 à 20, soit 2870

Explication

L’expression `i**2` élève chaque entier au carré, et `range(1,n+1)` inclut les valeurs de 1 à 20 lorsque n=20n = 20, pour un total de 2870. La somme 210 correspondrait à l’addition simple des entiers sans carré.

20. Quelle structure construit les tables de multiplication de 2 à 9, avec les multiplicateurs de 1 à 10 ?

Une boucle externe sur `range(1,11)` et une boucle interne sur `range(2,9)`
Une boucle externe sur `range(2,11)` et une boucle interne sur `range(1,10)`
Une boucle externe sur `range(1,10)` et une boucle interne sur `range(2,11)`
Une boucle externe sur `range(2,10)` et une boucle interne sur `range(1,11)`

Une boucle externe sur `range(2,10)` et une boucle interne sur `range(1,11)`

Explication

`range(2,10)` parcourt les nombres de 2 à 9, tandis que `range(1,11)` parcourt les multiplicateurs de 1 à 10. Les autres structures déplacent ou excluent certaines bornes nécessaires aux tables demandées.

Révisez avec les flashcards

Mémorisez les réponses avec 31 flashcards sur Premières notions de Python.

Quel symbole Python utilise-t-il pour la multiplication ?

L'astérisque simple.

Quel opérateur Python utilise-t-il pour la puissance ?

L'astérisque double.

Quel symbole Python utilise-t-il pour la division réelle ?

La barre oblique simple.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Premières notions de Python.

Voir la fiche →

Cours similaires

Crée tes propres QCM

Importe ton cours et l'IA génère des QCM avec corrections en 30 secondes.

Générateur de QCM