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
else de
try-except-else
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 :
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
try:
x = 10 / 2
except ZeroDivisionError:
print("Erreur: division par zéro")
else:
print("Aucune exception: Exécution de la clause else.")
try:
x = 10 / 2
except ZeroDivisionError:
print("Erreur: division par zéro")
else:
print("Aucune exception: Exécution de la clause else.")
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?
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
deff(i, l = []):
l.append(i)
return l
f(1)
f(2)
x = f(3)
print(x)
def f(i, l = []):
l.append(i)
return l
f(1)
f(2)
x = f(3)
print(x)
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 = []
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?
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
x = {1:1, 2:4, 3:9}
print(x.pop(2))
print(x)
x = {1:1, 2:4, 3:9}
print(x.pop(2))
print(x)
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)
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))
print(x.pop(2)) affiche 4.
Après l’exécution de
pop(2)
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)
print(x), nous obtenons {1: 1, 3: 9}.
Donc, la sortie du code sera 4 pour la valeur retournée par
pop(2)
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 :
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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
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
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?
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
deff(x):
yield x+1
print("msg")
yield x+1
h=f(4)
def f(x):
yield x+1
print("msg")
yield x+1
h=f(4)
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)
f(x) utilise plusieurs instructions yield avec une instruction
print("msg")
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
yield doit respecter un certain ordre d’exécution. Si l’instruction
yield
yield est mal utilisée, comme dans ce cas, cela provoque une erreur. Pour corriger ce problème, l’instruction
print("msg")
print("msg") doit être placée correctement dans le corps de la fonction. Voici une version corrigée du code :
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
deff(x):
print("msg")
yield x+1
yield x+1
h = f(4)
for val in h:
print(val)
def f(x):
print("msg")
yield x+1
yield x+1
h = f(4)
for val in h:
print(val)
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?
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
list1 = ['Alex', 'Bob', 'Jean']
if'alex'in list1:
print(1)
else:
print(2)
list1 = ['Alex', 'Bob', 'Jean']
if 'alex' in list1:
print(1)
else:
print(2)
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
'alex' in list1 retourne False, et le bloc
else
else s’exécute, ce qui affiche 2.
7. Quelle est la sortie du code suivant
os.listdir()
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()
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
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?
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
l1 = [1, 2, 3]
l2 = [4, 5, 6]
print(len(l1 + l2))
l1 = [1, 2, 3]
l2 = [4, 5, 6]
print(len(l1 + l2))
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()
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.
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