QCM : Valeurs, types et programmation Python — 22 questions

Questions et réponses du QCM

1. Quel type Python représente les nombres entiers ?

bool
float
str
int

int

Explication

Python utilise le type int pour représenter les nombres entiers. Le type float sert plutôt à représenter des nombres flottants approchant les nombres réels.

2. Quelle valeur produit l’expression 2+3∗52 + 3 * 5 en Python, en respectant la priorité des opérateurs ?

17
30
25
35

17

Explication

La multiplication est prioritaire sur l’addition, donc 3∗53 * 5 est calculé avant l’ajout de 2. Le regroupement explicite (2+3)∗5\left(2+3\right)*5 aurait produit 25.

3. Pour a=17a=17 et b=5b=5, quel couple donne le quotient et le reste de la division euclidienne ?

q=3q=3 et r=2r=2
q=5q=5 et r=0r=0
q=2q=2 et r=3r=3
q=4q=4 et r=1r=1

$$q=3$$ et $$r=2$$

Explication

La relation 17=3×5+217=3\times5+2 respecte la condition 0≤r<50\le r<5, donc le quotient vaut 3 et le reste vaut 2. Le couple q=2,r=3q=2,r=3 inverse ces deux rôles et ne reconstruit pas correctement le quotient attendu.

4. Quelle expression Python permet d’obtenir le reste de la division euclidienne de 23 par 4 ?

4 % 23
23 % 4
23 / 4
23 // 4

23 % 4

Explication

L’opérateur % renvoie le reste de la division euclidienne, donc 23 % 4 vaut 3. L’opérateur // renvoie le quotient, tandis que / effectue une division flottante.

5. Quel type Python représente des nombres flottants utilisés pour approcher les nombres réels ?

float
str
complex
int

float

Explication

Le type float représente les nombres flottants, qui servent à approcher les nombres réels. Le type int concerne les nombres entiers, tandis que str représente du texte.

6. Que se passe-t-il lors de l’évaluation de l’expression 8/08 / 0 en Python ?

La valeur 8 est convertie en nombre flottant
La valeur 0 est renvoyée comme résultat
Une exception ZeroDivisionError est déclenchée
Le quotient est calculé avec une valeur nulle

Une exception ZeroDivisionError est déclenchée

Explication

Une division par zéro déclenche l’exception ZeroDivisionError en Python. Python ne remplace pas automatiquement le diviseur nul par une autre valeur pour calculer le quotient.

7. Quelle affirmation décrit correctement une chaîne de caractères en Python ?

C’est une valeur de type str délimitée par des guillemets
C’est une valeur de type bool entourée de crochets
C’est une valeur de type int écrite entre parenthèses
C’est une valeur de type float terminée par un point

C’est une valeur de type str délimitée par des guillemets

Explication

Une chaîne est une valeur textuelle de type str, écrite entre guillemets simples ou doubles. Les types int, float et bool servent respectivement aux entiers, aux flottants et aux valeurs booléennes.

8. Quelle valeur produit l’expression "ha"∗3"ha" * 3 en Python ?

"hahaha"
3
Une erreur de type
"ha3"

"hahaha"

Explication

Multiplier une chaîne par un entier répète son contenu, donc "ha"∗3"ha"*3 donne trois occurrences de « ha ». L’opérateur + sert à concaténer des chaînes, mais un entier ne devient pas automatiquement du texte par cette opération.

9. Après l’instruction `import math`, comment faut-il appeler la fonction cosinus du module ?

cos(x)
math.cos(x)
math::cos(x)
import.cos(x)

math.cos(x)

Explication

L’instruction `import math` rend les fonctions accessibles par le préfixe `math`, d’où l’appel `math.cos(x)`. La forme `cos(x)` correspond plutôt à une importation directe telle que `from math import cos`.

10. Quelles valeurs renvoient respectivement `math.floor(2.718)` et `math.ceil(2.718)` ?

2 et 3
3 et 3
3 et 2
2 et 2

2 et 3

Explication

`floor` fournit la partie entière inférieure et `ceil` la partie entière supérieure : les résultats sont donc 2 et 3. Inverser ces résultats confond les rôles des deux fonctions d’arrondi.

11. Quelles sont les deux valeurs distinctes du type booléen en Python ?

Oui et Non
Vrai et Faux
1 et -1
True et False

True et False

Explication

Le type booléen Python possède précisément les valeurs `True` et `False`. Des mots comme « Oui » et « Non » peuvent exprimer une idée logique, mais ils ne sont pas les valeurs booléennes Python correspondantes.

12. Que produit l’expression `int("2")` par rapport à `str(2)` ?

Deux valeurs booléennes
Un entier puis une chaîne
Une chaîne puis un entier
Deux valeurs flottantes

Un entier puis une chaîne

Explication

`int` convertit la chaîne interprétable en entier, tandis que `str` transforme la valeur en chaîne de caractères. La confusion consiste à attribuer à `int` le comportement de `str`, ou inversement.

13. Que fait Python lors de l’exécution de `a = a + 1` si `a` vaut initialement 4 ?

Il compare a à a + 1 et conserve 4
Il signale une erreur car a apparaît des deux côtés
Il remplace a par l’expression non évaluée a + 1
Il évalue 4 + 1 puis stocke 5 dans a

Il évalue 4 + 1 puis stocke 5 dans a

Explication

Le membre droit est évalué en premier, puis sa valeur, ici 5, remplace l’ancienne valeur de `a`. La présence de `a` des deux côtés est valide dans une affectation, contrairement à une écriture telle que `a + 1 = a`.

14. Quelle situation illustre le typage dynamique de Python ?

Une variable ne peut contenir que des nombres entiers
Une variable reçoit automatiquement un type fixe à sa création
Une variable contient d’abord 7 puis la chaîne "sept"
Une variable doit garder le même type pendant tout le programme

Une variable contient d’abord 7 puis la chaîne "sept"

Explication

Le typage dynamique permet à une même variable de contenir à des moments différents un entier puis une chaîne de caractères. L’idée d’un type fixé dès la création contredit cette caractéristique de Python.

15. Laquelle de ces écritures respecte les règles usuelles de formation d’un nom de variable Python ?

total_2
total prix
2total
total-prix

total_2

Explication

Un nom de variable peut contenir des lettres, un underscore et des chiffres placés après le début du nom ; `total_2` est donc valide. Un chiffre initial, un trait d’union ou un espace ne respecte pas ces règles de formation.

16. Que caractérise la programmation impérative ?

Une description de résultats sans modification explicite de la machine
Une succession d’instructions qui modifient l’état de la machine
Une exécution de fonctions sans changement de valeurs internes
Une organisation de données qui évite l’emploi de variables

Une succession d’instructions qui modifient l’état de la machine

Explication

La programmation impérative décrit une suite d’instructions dont l’exécution transforme l’état de la machine. La programmation déclarative met plutôt l’accent sur le résultat recherché que sur cette succession de modifications.

17. Dans un programme, que représente l’état du système à un instant donné ?

Les messages affichés précédemment dans la console
Le nombre total de fonctions définies dans le programme
Les valeurs actuellement contenues dans les variables
La liste des instructions prévues pour une exécution future

Les valeurs actuellement contenues dans les variables

Explication

L’état du système correspond aux valeurs présentes dans les variables à un moment précis, comme un ensemble associant chaque variable à sa valeur. La liste des instructions décrit le programme, mais pas sa situation courante.

18. Pour échanger les valeurs de a et b sans les perdre, quelle séquence utilise correctement une variable temporaire c ?

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

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

Explication

La valeur initiale de a est conservée dans c avant qu'a reçoive la valeur de b, puis c est affectée à b. La séquence a = b puis b = a écrase l’ancienne valeur de a avant sa seconde affectation.

19. Si a vaut 2 et b vaut 7, quel est le résultat de l’affectation simultanée a, b = 7, 2 ?

a vaut 2 et b vaut 7
a vaut 7 et b vaut 2
a vaut 7 et b vaut 7
a vaut 2 et b vaut 2

a vaut 7 et b vaut 2

Explication

L’expression de droite est évaluée avant les affectations : 7 est attribué à a et 2 à b. Cette opération réalise ainsi l’échange sans rendre les deux variables identiques.

20. Que renvoie print(2**10) lorsqu’il est exécuté sans autre opération ?

La valeur None après avoir affiché 1024
La valeur flottante 1024.0 après avoir affiché 1024
La valeur entière 1024 après avoir affiché None
La chaîne de caractères « 1024 » sans valeur de retour

La valeur None après avoir affiché 1024

Explication

print affiche le résultat de 2**10, soit 1024, puis renvoie None lorsqu’il agit par effet de bord. L’expression 2**10, évaluée séparément, produit quant à elle l’entier 1024.

21. Quel type de valeur input renvoie-t-il, même lorsque l’utilisateur saisit une année comme 2024 ?

Une chaîne de caractères contenant « 2024 »
Un entier égal à 2024
Un nombre flottant égal à 2024.0
Une valeur booléenne indiquant que la saisie est valide

Une chaîne de caractères contenant « 2024 »

Explication

input renvoie la saisie de l’utilisateur sous forme de chaîne de caractères, y compris lorsqu’elle contient des chiffres. Pour effectuer un calcul numérique avec cette année, il faut convertir explicitement la chaîne avec int.

22. Quelle démarche permet d’utiliser numériquement une année saisie avec input ?

Appliquer end à la chaîne pour obtenir une valeur entière
Comparer la chaîne à un nombre afin de la convertir automatiquement
Lire la chaîne avec input puis la convertir avec int
Afficher la chaîne avec print puis la réutiliser directement

Lire la chaîne avec input puis la convertir avec int

Explication

Il faut d’abord recueillir la saisie, puis convertir explicitement la chaîne en entier avec int avant le calcul. L’affichage ou la comparaison ne transforme pas automatiquement la chaîne en valeur numérique.

Révisez avec les flashcards

Mémorisez les réponses avec 47 flashcards sur Valeurs, types et programmation Python.

Quel est le type des nombres entiers en Python ?

Le type int.

Quels sont les opérateurs usuels des entiers en Python ?

Les opérateurs +, -, *, et **.

Quelle est la priorité des opérateurs entiers en Python ?

** a la plus haute priorité, puis *, puis + et -.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Valeurs, types et programmation 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