QCM Python – Partie 9

Bienvenue dans notre QCM Python ! Que vous soyez débutant ou déjà expérimenté en programmation, ce questionnaire à choix multiples est l’occasion parfaite de tester vos connaissances en Python. Grâce à des questions couvrant tous les niveaux, vous pourrez évaluer votre maîtrise des concepts clés du langage, comme les structures de données, les fonctions, les modules et bien plus. Si vous cherchez à améliorer vos compétences ou à vous préparer pour un examen, ce QCM Python est fait pour vous. Lancez-vous et découvrez où vous en êtes !
 
 

1. Lequel des éléments suivants n’est pas un mot-clé en Python?

A eval

B assert

C nonlocal

D pass

A
eval est une fonction intégrée en Python, pas un mot-clé. Elle permet d’exécuter une expression Python à partir d’une chaîne de caractères. Exemple:

expression = "3 * (2 + 5)"
result = eval(expression)
print(result) # 21
 

2. Tous les mots-clés en Python sont en ______

A majuscule

B minuscule

C capitalisé

D Aucune de ces réponses n’est vraie.

D
En effet, en Python, il existe des mots-clés en minuscule (comme if, for, while, def, etc.) mais aussi des mots-clés en majuscule ou avec une première lettre en majuscule, tels que True, False et None.
 

3. Quelle est la sortie du code suivant?
def sayHello(*name):
  print('Hello', name)

sayHello('Yohan', 'Thomas')

A Hello Yohan Hello Thomas

B Hello (‘Yohan’, ‘Thomas’)

C Hello Yohan

D Erreur de syntaxe! sayHello() ne peut prendre qu’un seul argument.

B
La syntaxe *name permet à la fonction sayHello de prendre un nombre variable d’arguments. Cela signifie que tous les arguments passés à la fonction seront collectés sous forme de tuple.

Lorsque vous appelez sayHello('Yohan', 'Thomas'), les arguments ‘Yohan’ et ‘Thomas’ sont stockés dans un tuple, ici (‘Yohan’, ‘Thomas’), et ce tuple est passé à la fonction.

La fonction print('Hello', name) affiche « Hello » suivi du contenu du tuple, soit (‘Yohan’, ‘Thomas’).

 

4. Laquelle des instructions suivantes est utilisée pour créer un ensemble( ou un set) vide?

A { }

B ( )

C [ ]

D set()

D
{} Cette syntaxe crée un dictionnaire vide, pas un ensemble (set). En Python, les accolades {} sont utilisées pour définir un dictionnaire vide. Seul set() crée un ensemble vide.
 

5. Qu’est-ce qu’une fonction récursive?

A Une fonction qui appelle toutes les fonctions du programme.

B Une fonction qui s’appelle elle-même.

C Une fonction qui appelle toutes les fonctions du programme sauf elle-même.

D Il n’existe pas de fonction récursive en Python.

B
Une fonction récursive est une fonction qui se appelle elle-même pendant son exécution. La récursivité permet de résoudre des problèmes en divisant une tâche en sous-tâches plus petites et en utilisant la fonction elle-même pour résoudre chaque sous-tâche.
 
 

6. Quelle est la sortie du code suivant?
res = lambda x: x * x
print(res(5))

A 5

B res(5)

C 25

D None

C
Le code utilise une fonction lambda, qui est une fonction anonyme en Python. La fonction lambda x: x * x prend un argument x et retourne x multiplié par lui-même, ce qui est équivalent à calculer le carré de x.
 

7. Lequel des éléments suivants ne peut pas être déclaré comme variable?

A __init__

B in

C it

D on

B
in est un mot-clé réservé en Python. Il est utilisé pour vérifier l’appartenance d’un élément à une séquence (comme une liste, un tuple, etc.). Par exemple, x in my_list. Vous ne pouvez pas utiliser in comme nom de variable.
 

8. Quelle est la sortie du code suivant lorsqu’il est exécuté dans le shell python?
>>> d = {1,2,3}
>>> d.intersection_update({2,3,4,5})
>>> d

A {2,3}

B {1,4,5}

C Erreur, élément dupliqué dans la liste

D Erreur, aucune méthode appelée intersection_update

A
Le code donné commence par créer un ensemble d contenant les éléments {1, 2, 3}. Ensuite, la méthode intersection_update() est appelée avec l’ensemble {2, 3, 4, 5}. Cette méthode modifie l’ensemble d pour qu’il ne contienne que les éléments qui sont présents dans les deux ensembles, c’est-à-dire l’intersection. L’intersection de {1, 2, 3} et {2, 3, 4, 5} est {2, 3}, donc après l’appel de intersection_update(), l’ensemble d contient uniquement {2, 3}. La sortie du code est donc {2, 3}.
 

9. Quelle est la sortie du code suivant?
l = ['ab', 'cd']
for i in l:
    i.upper()
print(l)

A [‘AB’, ‘CD’]

B [‘ab’, ‘cd’]

C [None, None]

D Aucune de ces réponses n’est vraie.

B
Le code donné crée une liste l contenant les éléments [‘ab’, ‘cd’]. Ensuite, dans une boucle for, la méthode upper() est appelée sur chaque élément de la liste pour le convertir en majuscules. Cependant, la méthode upper() retourne une nouvelle chaîne en majuscules sans modifier la chaîne originale. Comme cette nouvelle valeur n’est pas assignée à une variable ou à l’élément de la liste, les éléments de la liste restent inchangés.
 

10. Quelle est la sortie du code suivant?
True = False
while True:
    print(True)
    break

A False

B True

C None

D Aucune de ces réponses n’est vraie.

D
SyntaxError, Modification de True: Dans la première ligne, True = False tente de réaffecter la valeur False à True. En Python, True est un mot-clé réservé et ne peut pas être redéfini de cette manière. Cette ligne générera donc une erreur (TypeError) car on ne peut pas modifier les valeurs des objets immuables intégrés, comme True ou False.

Une réflexion sur “QCM Python – Partie 9

  • juillet 17, 2020 à 11:28 am
    Permalien

    Bonjour ,
    C’est basée sur du Python2?
    pas mal d’erreur comme la function eval existe sur python 3
    Merci quand meme

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *