QCM Python – Partie 16

Questions pratiques pour testez vos connaissances sur la programmation Python à savoir des structures conditionnelles, des opérations logiques, des boucles, des fonctions, etc. Testez votre connaissance et travaillez sur les questions que vous trompez le plus souvent.
 
 

1. Quand le bloc else de try-except-else sera-t-elle exécutée?

A Toujours

B Lorsqu’une exception survient

C Lorsqu’une exception se produit dans le bloc « except »

D Quand aucune exception ne se produit

D
Dans une structure try-except-else en Python, le bloc else est exécuté seulement lorsque aucune exception ne se produit dans le bloc try. Exemple :

try:
    x = 10 / 2
except ZeroDivisionError:
    print("Erreur: division par zéro")
else:
    print("Aucune exception: Exécution de la clause else.")

Sortie:

1.0
Aucune exception: Exécution de la clause else.
 

2. Quelle est la sortie du code suivant?
def f(i, l = []):
    l.append(i)
    return l
 
f(1)
f(2)
x = f(3)
print(x)

A 1 2 3

B [1, 2, 3]

C [1] [1, 2] [1, 2, 3]

D [1] [2] [3]  
 

B
La sortie du code est B: [1, 2, 3]. Cela est dû à l’utilisation d’un argument par défaut l = [] dans la fonction. La liste l est créée une seule fois lors de la définition de la fonction et partagée entre tous les appels qui ne spécifient pas de nouvelle liste. Ainsi, à chaque appel de la fonction, les éléments sont ajoutés à la même liste, ce qui donne [1, 2, 3] comme résultat final.
 

3. Quelle est la sortie du code suivant?
x = {1:1, 2:4, 3:9}  

print(x.pop(2))  
print(x)

A 16 {1: 1, 3: 9}

B 4 {1: 1, 2:4}

C 4, {1: 1, 3: 9}

D 16 {1: 1, 2:4}

C
Dans ce code, nous avons un dictionnaire x qui contient les paires clé-valeur {1: 1, 2: 4, 3: 9}. Lorsque nous appelons la méthode x.pop(2), celle-ci supprime l’élément dont la clé est 2 et retourne sa valeur associée, qui est 4. Par conséquent, la première ligne print(x.pop(2)) affiche 4.

Après l’exécution de pop(2), l’élément avec la clé 2 est retiré du dictionnaire. Ainsi, le dictionnaire restant devient {1: 1, 3: 9}. Lorsque nous affichons le dictionnaire avec print(x), nous obtenons {1: 1, 3: 9}.

Donc, la sortie du code sera 4 pour la valeur retournée par pop(2), suivie de {1: 1, 3: 9} pour l’état du dictionnaire après la suppression. La réponse correcte est donc C : 4, {1: 1, 3: 9}.

 

4. Comment créer un objet itérateur à partir d’une liste?

A En passant la liste donnée à la fonction iter().

B En utilisant une boucle for.

C En utilisant une boucle while.

D Vous ne pouvez pas créer un objet itérable à partir d’une liste.

A
En Python, pour créer un objet itérateur à partir d’une liste, on utilise la fonction intégrée iter(). Cette fonction prend un objet itérable (comme une liste, une chaîne de caractères, etc.) et renvoie un itérateur qui permet de parcourir l’objet élément par élément. Prenons un exemple :

ma_liste = [1, 2, 3, 4]
it = iter(ma_liste)

# Utilisation de l'itérateur avec la fonction next()
print(next(it))  # Affiche 1
print(next(it))  # Affiche 2
 

5. Quelle est la sortie du code suivant?
def f(x):
    yield x+1
    print("msg")
    yield x+1
h=f(4)

A msg

B msg2

C Erreur

D Le code n’affiche rien

D
Le code donné contient une erreur car la fonction génératrice f(x) utilise plusieurs instructions yield avec une instruction print("msg") placée entre elles, ce qui n’est pas valide dans une fonction génératrice. En Python, une fonction qui utilise yield doit respecter un certain ordre d’exécution. Si l’instruction yield est mal utilisée, comme dans ce cas, cela provoque une erreur. Pour corriger ce problème, l’instruction print("msg") doit être placée correctement dans le corps de la fonction. Voici une version corrigée du code :

def f(x):
    print("msg")
    yield x+1
    yield x+1

h = f(4)
for val in h:
    print(val)

Sortie:

msg
5
5
 
 

6. Quelle est la sortie du code suivant?
list1 = ['Alex', 'Bob', 'Jean']
 
if 'alex' in list1:
    print(1)
else:
    print(2)

A 1

B 2

C Erreur

D None

B
Le code vérifie si l’élément ‘alex’ est présent dans la liste list1, qui contient [‘Alex’, ‘Bob’, ‘Jean’]. Cependant, la liste contient ‘Alex’ avec une majuscule, et la recherche ‘alex’ avec une minuscule ne trouve pas d’élément correspondant, car Python distingue les majuscules des minuscules. Ainsi, le test 'alex' in list1 retourne False, et le bloc else s’exécute, ce qui affiche 2.
 

7. Quelle est la sortie du code suivant os.listdir()?

A Affiche le répertoire de travail actuel.

B Affiche tous les répertoires à l’intérieur d’un répertoire donné.

C Affiche tous les répertoires et les fichiers dans un répertoire donné.

D Crée un nouveau répertoire.

C
La fonction os.listdir() permet de lister tous les fichiers et répertoires présents dans le répertoire courant ou dans un répertoire spécifié. Si aucun argument n’est passé, elle listera les fichiers et répertoires du répertoire de travail actuel. Si un chemin est passé en argument, elle listera les éléments de ce répertoire spécifié.
 

8. Lequel des énoncés suivants est correct?

A Une exception est une erreur qui se produit lors de l’exécution.

B Une erreur de syntaxe est également une exception.

C Une exception est utilisée pour exclure un bloc de code en Python.

D Tout les réponses sont vrais

A
Une exception est une erreur qui survient lors de l’exécution d’un programme. Elle peut interrompre le flux normal d’exécution et doit être gérée correctement pour éviter que le programme ne plante. Par contre, une erreur de syntaxe, bien qu’elle soit aussi un type d’erreur, n’est pas considérée comme une exception, car elle se produit avant l’exécution, pendant la phase de compilation du code. De plus, une exception n’est pas utilisée pour exclure un bloc de code, mais plutôt pour gérer des erreurs ou des situations imprévues durant l’exécution du programme.
 

9. Pour lequel l’opérateur “in” peut-il être utilisé pour vérifier si un élément y présent?

A Liste

B Dictionnaire

C Ensemble/Set

D Tout les réponses sont vrais

D
L’opérateur in en Python est utilisé pour vérifier la présence d’un élément dans différentes structures de données, comme les listes, les dictionnaires et les ensembles (sets).
 

10. Quelle est la sortie du code suivant?
l1 = [1, 2, 3]
l2 = [4, 5, 6]
 
print(len(l1 + l2))

A 3

B 6

C 1

D Erreur

B
Le code donné effectue la concaténation de deux listes, l1 et l2, en utilisant l’opérateur +. Cela crée une nouvelle liste combinant les éléments des deux listes, soit [1, 2, 3, 4, 5, 6]. Ensuite, la fonction len() est utilisée pour obtenir la longueur de cette liste résultante, qui est de 6 éléments. Ainsi, la sortie du code est 6, et la réponse correcte est B 6.
 
 

Une réflexion sur “QCM Python – Partie 16

  • avril 14, 2021 à 3:56 pm
    Permalien

    erreur sur la question 3 :
    la réponse doit être présenté de la façon suivante :
    4
    {1: 1, 3: 9}
    et non :
    4{1: 1, 3: 9}

    Sinon super site

    Répondre

Laisser un commentaire

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