QCM : Programmer en Python (24 questions)

Questions et réponses du QCM

1. Quel rôle joue un type de donnée en Python ?

Il donne un nom à une valeur afin de pouvoir la réutiliser
Il transforme automatiquement toute valeur en nombre entier
Il stocke une valeur dans la mémoire sans préciser son interprétation
Il indique comment Python interprète une valeur et quelles opérations lui appliquer

Il indique comment Python interprète une valeur et quelles opérations lui appliquer

Explication

Un type de donnée décrit la manière dont Python interprète une valeur et les opérations compatibles avec elle. Il ne constitue pas la valeur elle-même, contrairement à une confusion fréquente entre type et contenu.

2. Que se passe-t-il lorsqu'une nouvelle donnée est créée en Python sans déclaration explicite de son type ?

L'utilisateur doit choisir le type avant que la donnée soit créée
Python lui attribue systématiquement le type chaîne de caractères
Python conserve la donnée sans type jusqu'à sa première opération
Python lui attribue automatiquement un type adapté à la valeur créée

Python lui attribue automatiquement un type adapté à la valeur créée

Explication

Python détermine automatiquement le type d'une donnée au moment de sa création. Cette caractéristique le distingue des langages dans lesquels le programmeur doit déclarer explicitement le type.

3. Quelle caractéristique décrit le type int en Python ?

Il représente des valeurs logiques limitées à True et False
Il représente des nombres entiers dont la taille dépend de la capacité de la machine
Il représente des nombres décimaux avec une précision approximative
Il représente des suites de caractères placées entre guillemets

Il représente des nombres entiers dont la taille dépend de la capacité de la machine

Explication

Le type int sert à représenter les nombres entiers et leur taille est limitée par la capacité de la machine. Les nombres décimaux relèvent du type float, tandis que les valeurs logiques relèvent du type booléen.

4. Quelle donnée est représentée par le type str en Python ?

Un nombre entier dont la taille dépend de la mémoire disponible
Une valeur logique pouvant prendre deux états booléens
Une suite de caractères placée entre guillemets ou apostrophes
Un nombre décimal approximatif compris dans une vaste plage

Une suite de caractères placée entre guillemets ou apostrophes

Explication

Le type str représente une suite de caractères délimitée par des guillemets ou des apostrophes, notamment des lettres, chiffres, signes et espaces. Une valeur numérique ou logique possède un autre type en Python.

5. Quelle expression Python calcule la puissance de 3 par 4 ?

3∗∗43**4
4∗∗34**3
343^4
3∗43*4

$$3**4$$

Explication

En Python, l'opérateur ** calcule une puissance, donc 3∗∗43**4 élève 3 à la puissance 4. L'opérateur * effectue une multiplication, tandis que l'ordre des opérandes dans la dernière expression inverse la base et l'exposant.

6. Quelles valeurs produisent respectivement 14/514/5, 14//514//5 et 14%514\%5 en Python ?

2.82.8, 22 et 44
22, 2.82.8 et 44
2.82.8, 44 et 22
44, 22 et 2.82.8

$$2.8$$, $$2$$ et $$4$$

Explication

La division / donne le résultat décimal 2.8, // donne le quotient entier 2 et % donne le reste 4. Confondre ces opérateurs revient à attribuer à chacun le rôle d'un autre opérateur de division.

7. Que renvoie une expression Python utilisant une comparaison comme 7>=77 >= 7 ?

Un nombre entier correspondant à la différence entre les deux valeurs
Une chaîne de caractères décrivant la relation évaluée
Une valeur booléenne indiquant si la relation est vraie
Une nouvelle valeur numérique issue de la division des opérandes

Une valeur booléenne indiquant si la relation est vraie

Explication

Les opérateurs de comparaison évaluent une relation et renvoient une valeur booléenne, ici True. Ils ne produisent ni description textuelle ni résultat arithmétique de la relation.

8. Comment réalise-t-on un transtypage en Python ?

En concaténant la donnée avec une chaîne vide
En ajoutant un opérateur de comparaison devant la donnée
En appliquant la fonction correspondant au type souhaité à la donnée
En affectant la donnée à un nom différent sans conversion

En appliquant la fonction correspondant au type souhaité à la donnée

Explication

Le transtypage convertit une donnée vers un autre type en utilisant la fonction associée à ce nouveau type. Changer le nom d'une variable ou comparer sa valeur ne modifie pas son type.

9. Quelle définition correspond à une variable en Python ?

Une comparaison entre deux valeurs produisant un résultat booléen
Une association entre un nom et une valeur susceptible de changer
Une instruction qui affiche une valeur dans la console
Un type décrivant les opérations possibles sur une donnée

Une association entre un nom et une valeur susceptible de changer

Explication

Une variable associe un nom à une valeur, et cette valeur peut être modifiée pendant l'exécution du programme. Une comparaison, un affichage ou un type remplissent des fonctions différentes.

10. Que fait Python lors de l'exécution de l'instruction a=4a = 4 ?

Il compare les contenus de deux variables nommées a et 4
Il convertit automatiquement le nombre 4 en valeur booléenne
Il vérifie si la valeur de a est égale à 4
Il associe la valeur 4 au nom a après évaluation de l'expression

Il associe la valeur 4 au nom a après évaluation de l'expression

Explication

Une affectation évalue l'expression située à droite puis associe son résultat au nom situé à gauche. L'opérateur == sert à comparer des valeurs et ne joue pas le rôle du signe = dans cette instruction.

11. Quelle instruction affiche le contenu de la variable ma_variable dans la console ?

ma_variable == print
print(ma_variable)
ma_variable = print
type(ma_variable)

print(ma_variable)

Explication

L'appel print(ma_variable) affiche la valeur contenue dans la variable. La fonction type renvoie une information sur son type, tandis que les deux autres écritures ne constituent pas l'instruction d'affichage demandée.

12. Que renvoie l'expression type(ma_variable) ?

Le type de la valeur contenue dans ma_variable
Une nouvelle valeur affectée à ma_variable
Le contenu de ma_variable affiché dans la console
Le nom associé à la variable ma_variable

Le type de la valeur contenue dans ma_variable

Explication

La fonction type(ma_variable) renvoie le type de la valeur stockée dans cette variable. Elle ne sert pas à afficher directement le contenu, à récupérer le nom de la variable ou à effectuer une affectation.

13. Dans quel cas le bloc indenté associé à une instruction if est-il exécuté ?

Lorsque la condition n’a pas encore été évaluée
Lorsque la condition booléenne vaut False
Lorsque la condition booléenne vaut True
Lorsque le programme atteint la fin du fichier

Lorsque la condition booléenne vaut True

Explication

Le bloc associé à if s’exécute lorsque l’expression conditionnelle produit True. Lorsque cette expression vaut False, c’est le bloc else qui peut être exécuté, et non celui de if.

14. Une structure if...elif...else rencontre une première condition vraie après plusieurs tests infructueux : que fait-elle ?

Elle exécute le bloc else avant le bloc correspondant
Elle revient tester la première condition du programme
Elle exécute successivement tous les blocs restants
Elle exécute le bloc associé à cette première condition vraie

Elle exécute le bloc associé à cette première condition vraie

Explication

Les conditions sont évaluées dans l’ordre et le bloc lié à la première condition vraie est sélectionné. Le bloc else intervient lorsqu’aucune condition testée ne s’est révélée vraie.

15. Quand une boucle while poursuit-elle l’exécution de son bloc ?

Après que sa condition a cessé d’être évaluée
Pour chaque élément d’une séquence donnée
Tant que sa condition booléenne vaut False
Tant que sa condition booléenne vaut True

Tant que sa condition booléenne vaut True

Explication

Une boucle while répète son bloc aussi longtemps que sa condition produit True. La répétition pour chaque élément d’une séquence correspond plutôt au fonctionnement d’une boucle for.

16. Quel mécanisme permet à une boucle for de répéter un bloc pour plusieurs valeurs ?

Elle attend qu’une condition booléenne devienne vraie
Elle parcourt les valeurs d’une séquence ou celles produites par range
Elle répète le bloc jusqu’à une interruption explicite
Elle choisit le premier bloc conditionnel vérifié

Elle parcourt les valeurs d’une séquence ou celles produites par range

Explication

La boucle for exécute le bloc pour chaque valeur d’une séquence ou pour chaque entier fourni par range. L’attente d’une condition vraie décrit plutôt une boucle while.

17. Quelle construction définit une fonction en Python et précise éventuellement ses arguments ?

Un appel du nom suivi d’arguments entre parenthèses
Le mot-clé return suivi du nom et d’un bloc non indenté
Le mot-clé def suivi du nom, des arguments et d’un bloc indenté
Le mot-clé global suivi des paramètres et du résultat

Le mot-clé def suivi du nom, des arguments et d’un bloc indenté

Explication

Le mot-clé def introduit la définition, qui peut contenir des arguments séparés par des virgules et un bloc indenté. Un appel, lui, exécute une fonction déjà définie au lieu de la créer.

18. Que produit une instruction return lorsqu’elle est exécutée dans une fonction ?

Elle transforme automatiquement la fonction en procédure
Elle crée une variable locale sans interrompre le bloc
Elle arrête la fonction et renvoie une valeur au code appelant
Elle relance la fonction avec les mêmes arguments

Elle arrête la fonction et renvoie une valeur au code appelant

Explication

L’instruction return interrompt l’exécution de la fonction et transmet une valeur au code qui l’a appelée. La création d’une variable locale relève d’une affectation dans la fonction, pas de return.

19. Comment est appelée, dans le cours, une fonction qui ne contient aucune instruction return ?

Une boucle d’appel qui renvoie une séquence
Une méthode globale qui renvoie False
Une fonction récursive qui renvoie True
Une procédure qui renvoie None

Une procédure qui renvoie None

Explication

Une fonction dépourvue d’instruction return renvoie None et est appelée procédure dans le cours. L’absence de return ne lui attribue pas automatiquement une valeur booléenne ni une séquence.

20. Quelle distinction décrit correctement les espaces global et local en Python ?

Le global concerne le programme, tandis que le local appartient à chaque fonction
Le global sert aux conditions, tandis que le local sert aux boucles
Le global contient les paramètres, tandis que le local contient toutes les fonctions
Le global appartient à chaque fonction, tandis que le local concerne le programme extérieur

Le global concerne le programme, tandis que le local appartient à chaque fonction

Explication

L’espace global contient le programme et ses variables globales, alors que chaque fonction possède un espace local pour ses paramètres et ses variables. Les paramètres sont donc associés à l’espace local de la fonction qui les reçoit.

21. Une fonction affecte une nouvelle valeur à un nom déjà utilisé à l’extérieur sans employer global : quel est l’effet attendu ?

L’affectation modifie automatiquement la variable globale correspondante
L’affectation crée une variable locale et laisse la variable extérieure inchangée
L’affectation supprime le nom extérieur avant de créer le nouveau
L’affectation rend le nom inaccessible dans la fonction courante

L’affectation crée une variable locale et laisse la variable extérieure inchangée

Explication

Une affectation réalisée dans une fonction crée une variable locale et ne modifie pas la variable extérieure de même nom. Une modification explicite de la variable globale nécessite l’utilisation de global.

22. Que décrit une spécification de fonction ?

Le nom, le module et la version nécessaires à la fonction
Le type, la valeur initiale et la portée de chaque variable
La structure, la vitesse et la mémoire utilisées par la fonction
La tâche, les pré-conditions et les post-conditions de la fonction

La tâche, les pré-conditions et les post-conditions de la fonction

Explication

Une spécification précise la tâche de la fonction, les contraintes imposées à ses paramètres et les propriétés attendues du résultat. La structure des variables relève plutôt de l’implémentation que de la spécification.

23. Que se passe-t-il lorsqu’une instruction assert évalue une condition fausse ?

Le programme transforme la condition en valeur booléenne puis continue
Le programme corrige la valeur fautive avant de poursuivre l’exécution
Le programme s’arrête prématurément et affiche un message d’erreur
Le programme ignore la condition et reprend l’instruction suivante

Le programme s’arrête prématurément et affiche un message d’erreur

Explication

L’instruction assert vérifie une condition et interrompt l’exécution si cette condition est fausse, en fournissant un message d’erreur. Elle ne corrige pas automatiquement la donnée et ne permet pas au programme de continuer normalement.

24. Que renvoie l’expression `"mer" in "merveille"` ?

Une erreur signalant que deux chaînes ne peuvent pas être comparées
La position numérique de la première chaîne dans la seconde
Un booléen indiquant que la première chaîne est contenue dans la seconde
Une nouvelle chaîne formée par l’ajout des deux chaînes de caractères

Un booléen indiquant que la première chaîne est contenue dans la seconde

Explication

Appliqué à deux chaînes, l’opérateur `in` renvoie un booléen qui indique si la première chaîne apparaît dans la seconde. L’opérateur `+` sert à la concaténation, tandis que `in` ne renvoie pas une position numérique.

Révisez avec les flashcards

Mémorisez les réponses avec 42 flashcards sur Programmer en Python.

Qu'indique un type de donnée en Python ?

Comment interpréter une valeur et quelles opérations lui appliquer.

Comment Python attribue-t-il le type d'une donnée ?

Automatiquement lors de sa création, sans déclaration explicite.

Que représente le type int en Python ?

Les nombres entiers.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Programmer en 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