Avec des exercices corrigés en Python, vous pratiquerez divers concepts du langage Python. Vous commencerez par des exercices Python de base à des exercices plus avancés. La solution est fournie pour chaque exercice. Vous devez essayer de résoudre chaque problème par vous-même avant de vérifier la solution. Si vous avez des questions concernant chaque problème, nous vous encourageons à les poster sur notre forum.
Exercice 1:
Écrire un programme Python pour aplatir une liste de liste.
# Définir une liste contenant des sous-listes imbriquées
liste = [[3, 4, 2], [1, 7, 6], [8]]
# Utiliser une liste en compréhension pour parcourir les sous-listes "sl"
# et les éléments "i" à l'intérieur de chaque sous-liste.
listePlate = [i for sl in liste for i in sl]
print(listePlate)
Explication:
[i for sl in liste for i in sl]Nous avons utiliser une liste en compréhension pour parcourir les sous-listes « sl » et les éléments « i » à l’intérieur de chaque sous-liste.
Exercice 2:
Écrire un programme Python pour joindre une liste à une deuxième liste.
# Définir une liste contenant des éléments numériques
liste1 = [1, 2, 3]
# Définir une autre liste contenant des caractères
liste2 = ['a', 'b', 'c']
# Concaténer 'liste1' et 'liste2' pour créer une liste unique 'res'
res = liste1 + liste2
# Afficher 'res', qui contient des éléments de 'liste1' et 'liste2'
print(res)
Exercice 3:
Écrire un programme Python pour sélectionner un élément au hasard dans une liste.
Exemple:
['a', 'b', 'c', 'd', 'e', 'f'] ➞ b
['a', 'b', 'c', 'd', 'e', 'f'] ➞ f
['a', 'b', 'c', 'd', 'e', 'f'] ➞ a
Solution:
# Importer le module "random", qui fournit des fonctions
# permettant de générer des valeurs aléatoires.
import random
# Définir une liste contenant des caractères
liste = ['a', 'b', 'c', 'd', 'e', 'f']
# Utilisez la fonction "random.choice" pour sélectionner
# et afficher un caractère aléatoire à partir de la liste.
print(random.choice(liste))
Exercice 4:
Ecrivez un programme Python pour trouver le deuxième plus petit nombre d’une liste.
Exemple:
[0, 1, 2, 3] ➞ 1
[-9, 1, 3, -5] ➞ -5
Solution:
# Définir une liste contenant des nombres
liste = [0, 1, 2, 3]
# Créer un Set vide "dup" pour stocker les éléments dupliqués
# et une liste vide "uniq" pour stocker les éléments uniques.
dup = set()
uniq = []
# Itérer à travers les éléments de la liste
for i in liste:
# Vérifier si 'i' n'est pas dans 'dup';
# si ce n'est pas le cas, l'ajouter à 'uniq' et 'dup'.
if i not in dup:
uniq.append(i)
dup.add(i)
# Trier la liste "uniq" par ordre croissant
uniq.sort()
# Afficher le deuxième plus petit élément de
# la liste triée 'uniq', qui se trouve à l'index 1
print(uniq[1])
Exercice 5:
Ecrivez un programme Python pour trouver le deuxième plus grand nombre d’une liste.
Exemple:
[0, 1, 2, 3] ➞ 2
[-9, 1, 3, -5] ➞ 1
Solution:
# Définir une liste contenant des nombres
liste = [0, 1, 2, 3]
# Créer un Set vide "dup" pour stocker les éléments dupliqués
# et une liste vide "uniq" pour stocker les éléments uniques.
dup = set()
uniq = []
# Itérer à travers les éléments de la liste
for i in liste:
# Vérifier si 'i' n'est pas dans 'dup';
# si ce n'est pas le cas, l'ajouter à 'uniq' et 'dup'.
if i not in dup:
uniq.append(i)
dup.add(i)
# Trier la liste "uniq" par ordre croissant
uniq.sort()
# Afficher le deuxième plus grand élément de la liste triée 'uniq',
# qui se trouve à l'index -2 (deuxième à partir de la fin).
print(uniq[-2])
Exercice 6:
Écrire un programme Python pour obtenir des valeurs uniques à partir d’une liste.
Exemple de sortie:
Liste originale : [1, 2, 2, 4, 3, 3]
Liste des nombres uniques : [1, 2, 3, 4]
Solution:
# Définir une liste contenant plusieurs nombres, y compris les doublons
liste = [1, 2, 2, 4, 3, 3]
# Afficher la liste originale.
print("Liste originale : ", liste)
# Convertir la "liste" en un Set "my_set" pour éliminer les doublons et garder les éléments uniques.
my_set = set(liste)
# Convertir le Set "my_set" en une liste "uniqu" pour obtenir une liste de nombres uniques.
uniqu = list(my_set)
# Afficher la liste des nombres uniques stockés dans "uniqu".
print("Liste des nombres uniques : ", uniqu)
Exercice 7:
Écrire un programme Python pour obtenir la fréquence des éléments d’une liste.
Exemple de sortie:
Liste originale: [10, 10, 10, 30, 30, 20]
Fréquence des éléments: Counter({10 : 3, 30 : 2, 20 : 1})
Solution:
# Importer le module "collections", qui fournit des types de données spécialisés pour les containers.
import collections
# Définir une liste contenant plusieurs nombres, y compris les doublons
liste = [10, 10, 10, 30, 30, 20]
# Afficher la liste originale.
print("Liste originale: ", liste)
# Utilisez la fonction 'collections.Counter' pour compter la fréquence de chaque élément de 'liste' et la stocker dans 'f'.
f = collections.Counter(liste)
# Affiche la fréquence des éléments de la liste, telle qu'elle est fournie par l'objet "f".
print("Fréquence des éléments: ", f)
Exercice 8:
Écrire un programme Python pour convertir une liste de nombres entiers en un seul nombre entier.
Exemple:
[1, 2, 3] ➞ 123
[11, 5, 66, 7] ➞ 115667
Solution:
# Définir une liste de nombre
liste = [1, 2, 3]
# Afficher la liste originale.
print("Liste originale: ", liste)
# Utilisez la fonction "join" pour convertir les éléments de "liste" en une seule chaîne de caractères, puis convertissez-la en un nombre entier "x"
x = int("".join(map(str, liste)))
# Afficher l'entier "x"
print(x)
Exercice 9:
Écrire un programme Python pour créer plusieurs listes vides (Nombre de liste = 20).
# Créer un dictionnaire vide nommé 'obj'
obj = {}
# Itérer dans la plage de nombres de 1 à 20
for i in range(1, 21):
# Créer une liste vide en tant que valeur et l'associer à la
# représentation sous forme de chaîne du nombre "i" en tant
# que clé dans le dictionnaire 'obj'
obj[str(i)] = []
# Afficher le dictionnaire "obj"
print(obj)
Exercice 10:
Écrire un programme Python pour trouver les valeurs manquantes et supplémentaires dans deux listes.
Exemple:
liste1 = ['a', 'b', 'c', 'd', 'e', 'f']
liste2 = ['d', 'e', 'f', 'g', 'h']
Valeurs manquantes dans la deuxième liste : b,c,a
Valeurs supplémentaires dans la deuxième liste : g,h
Solution:
# Définir deux listes "liste1" et "liste2"
liste1 = ['a', 'b', 'c', 'd', 'e', 'f']
liste2 = ['d', 'e', 'f', 'g', 'h']
# Calculer les valeurs manquantes dans "liste2" en trouvant la différence entre "liste1" et "liste2".
val_manq = set(liste1).difference(liste2)
# Afficher les valeurs manquantes dans "liste2".
print('Valeurs manquantes dans la deuxième liste:', ','.join(val_manq))
# Calculer les valeurs supplémentaires de "liste2" en trouvant la différence entre "liste2" et "liste1".
sup_val = set(liste2).difference(liste1)
# Afficher les valeurs supplémentaires de "liste2".
print('Valeurs supplémentaires dans la deuxième liste:', ','.join(sup_val))
Éditeur de code Python: Testez votre code en ligne!
QCM Python – Partie 1Questions pratiques pour testez vos connaissances sur la programmation Python à savoir des structures conditionnelles, des opérations logiques, des boucles, des fonctions, etc. Testez votre…Lire plus
Exercice Corrigé : Les listes en Python – Partie 2 – exercice 2
Une solution corrigée est proposée, en voici d’autres :
# Solution 1 - Utilisation de l'opérateur + :
l1 = [1, 2, 3]
l2 = ['a', 'b', 'c']
print("Solution 1")
print(f"Concatenation de l1 et l2 : {l1 + l2}")
# Solution 2 – Méthode naïve avec append() :
l1 = [1, 2, 3]
l2 = ['a', 'b', 'c']
print("Solution 2")
for item in l2:
l1.append(item)
print(f"Concatenation de l1 et l2 : {l1}")
# Solution 3 – Compréhension de liste :
l1 = [1, 2, 3]
l2 = ['a', 'b', 'c']
print("Solution 3")
result = [item for sublist in [l1, l2] for item in sublist]
print(f"Concatenation de l1 et l2 : {result}")
# Solution 4 – Utilisation de extend():
l1 = [1, 2, 3]
l2 = ['a', 'b', 'c']
l1.extend(l2)
print("Solution 4")
print(f"Concatenation de l1 et l2 : {l1}")
# Solution 5 – Utilisation de l’opérateur * :
l1 = [1, 2, 3]
l2 = ['a', 'b', 'c']
print("Solution 5")
print(f"Concatenation de l1 et l2 : {[*l1, *l2]}")
Exercice Corrigé : Les listes en Python – Partie 2 – exercice 2
Une solution corrigée est proposée, en voici d’autres :
# Solution 2 – Méthode naïve avec append() :
# Solution 3 – Compréhension de liste :
# Solution 4 – Utilisation de extend():
# Solution 5 – Utilisation de l’opérateur * :
# Solution 6 – Utilisation de itertools.chain() :