Objectifs
- Savoir utiliser les listes sous Python
Exercice 01
Énoncé
- Écrire un programme python qui créé une liste semaine qui comprend les jours de la semaine, puis à l’aide de parcours successifs de la liste effectuer les actions suivantes :
- 1- Afficher la liste semaine
- 2- Afficher la valeur de semaine[4]
- 3- Échanger les valeurs de la première et de la dernière case de cette liste
- 4- Afficher 12 fois la valeur du dernier élément de la liste
- Écrire un programme python qui créé une liste semaine qui comprend les jours de la semaine, puis à l’aide de parcours successifs de la liste effectuer les actions suivantes :
Solution
- Essayez de faire l'exercice de votre côté avant de regarder la Solution !
Exercice 02
Énoncé
- Écrire une fonction
supprimeDoublon(liste)qui supprime les doublons d’une liste saisie par l'utilisateur. - Si l'utilisateur à saisie la liste suivante: ([3,4,5,3,4,5,1]) l'appel de la fonction renvoie [3,4,5,1].
- Écrire une fonction
Correction
- Essayez de faire l'exercice de votre côté avant de regarder la Solution !
Exercice 03
Énoncé
- Écrivez un programme Python qui permet à l'utilisateur de saisir une liste d'entiers à l'aide d'une boucle while. Le programme doit continuer de demander à l'utilisateur de saisir des entiers jusqu'à ce qu'il entre un caractère qui n'est pas un entier. Ensuite, à l'aide de parcours successifs de la liste, le programme doit effectuer les actions suivantes :
- 1- Afficher la liste
- 2-Afficher la liste en colonne de manière à afficher l'index et sont contenu
- 3-Additionner tous les éléments de la liste.
- 4-Créer une nouvelle liste qui sera le multiple (3) de tous les éléments de la liste.
- 5-Obtenir le plus grand nombre de la liste.
- 6-Obtenir le plus petit nombre de la liste.
- 7-Compter le nombre des nombres pairs présents dans la liste
- 8-Calculer la somme de tous les nombres impairs de la liste
- Écrivez un programme Python qui permet à l'utilisateur de saisir une liste d'entiers à l'aide d'une boucle while. Le programme doit continuer de demander à l'utilisateur de saisir des entiers jusqu'à ce qu'il entre un caractère qui n'est pas un entier. Ensuite, à l'aide de parcours successifs de la liste, le programme doit effectuer les actions suivantes :
Correction
- Essayez de faire l'exercice de votre côté avant de regarder la Solution !
Exercice 04
Énoncé
- Écrivez un programme qui trouvera tous les nombres divisibles par 7 mais non multiples de 5 et 2, entre 700 et 1099 (les deux inclus).Les nombres obtenus doivent être imprimés dans une liste.
- Affichez le nombre des nombres obtenus
Solution
- Essayez de faire l'exercice de votre côté avant de regarder la Solution !
Exercice 05
Énoncé
- Soit la liste suivante: stock = ["Ordinateur de bureau", "Ordinateur portable", 100, "Caméra",310.28,"Haut-parleurs", 27.00,"Télévision", 1000,"Cartes mères","souris","clavier",500,"barrettes de mémoire"]
- Utilisez Python pour:
- 1- Afficher la liste "stock"
- 2-Créer des listes séparées composées de chaînes et de nombres.
- 3-Compter le nombre d'élément de chaque liste
- 4-Trier la liste de chaînes par ordre croissant
- 5-Trier la liste de chaînes par ordre décroissant
- 6-Trier la liste des numéros du plus petit au plus grand
- 7-Trier la liste des numéros du plus grand au plus petit
Solution
- Essayez de faire l'exercice de votre côté avant de regarder la Solution !
Exercice 06
Énoncé
- La liste suivante représenta les moyennes d'une classe
- moyennes=[14.84,14.14,16.22,8.60,8.50,8.50,14.84,13,15.85,9.99,12.04,15.03,16.22,12,8.40,10.20,11.03,11.03]
- Afficher les trois bonnes moyennes
- Afficher les trois mauvaises moyennes (triées de plus petites au plus grandes)
Solution
- Essayez de faire l'exercice de votre côté avant de regarder la Solution !
Exercice 07
Énoncé
- Supprimer les éléments dupliqués d’une liste Python
- Écrire un programme Python qui permet de :
- Demander à l'utilisateur de saisir une liste d'entiers (en cas d'erreur le programme redemande la saisie sans être planté), la liste sera imprimé devant l'utilisateur chaque fois qu'il réussi d'ajouter un élément à la liste.
- Compter le nombre des éléments dupliqués de la liste.
- Supprimer les éléments dupliqués de la liste et afficher la nouvelle liste.
Solution
- Essayez de faire l'exercice de votre côté avant de regarder la Solution !
Exercice 08
Énoncé
- Pour le code suivant quel est le résultat de chaque impression (print) après exécution
numList = [1,2,3,4,5] alphaList = ["a","b","c","d","e"] print(numList is alphaList) print(numList == alphaList) numList = alphaList print(numList is alphaList) print(numList == alphaList)
- Pour le code suivant quel est le résultat de chaque impression (print) après exécution
Solution
- Essayez de faire l'exercice de votre côté avant de regarder la Solution !
Exercice 09
Énoncé
- Vous développez une application Python pour votre entreprise.
- Une liste nommée employés contient 200 noms d’employés, les cinq derniers étant des membres de la direction de la société. Vous devez découper la liste en tranches pour afficher tous les employés, à l'exception de la gestion.
- Quels deux segments de code devriez-vous utiliser ? Chaque réponse correcte présente une solution complète. ( Choisissez deux.)
- A. employees [1:-4]
- B. employees [:-5]
- C. employees [1:-5]
- D. employees [0:-4]
- E. employees [0:-5]
Solution
- Essayez de faire l'exercice de votre côté avant de regarder la Solution !
Exercice 10
Énoncé
- Vous trouvez des erreurs lors de l'évaluation du code suivant. Les numéros de ligne sont inclus pour référence seulement.
- Vous devez corriger le code aux lignes 03 et 06.
- Comment devriez-vous corriger le code ? Utilisez les menus déroulants pour sélectionner le choix de réponse qui répond à chaque question en fonction des informations présentées dans le segment de code.
- Zone de réponsep roposée :


Solution
- Essayez de faire l'exercice de votre côté avant de regarder la Solution !
Exercice 11
Énoncé
- Définir la liste suivante:
liste =[17, 38, 10, 25, 72], puis effectuez les actions suivantes :- 1- Triez et affichez la liste ;
- 2- Ajoutez l’élément 12 à la liste et affichez la liste ;
- 3- Renversez et affichez la liste ;
- 4- Affichez l’indice de l’élément 17 ;
- 5- Enlevez l’élément 38 et affichez la liste ;
- 6- Affichez la sous-liste du 2e au 3e élément ;
- 7- Affichez la sous-liste du début au 2e élément ;
- 8- Affichez la sous-liste du 3e élément à la fin de la liste ;
- 9- Affichez la sous-liste complète de la liste ;
- 10- Affichez le dernier élément en utilisant un indiçage négatif
- Définir la liste suivante:
Solution
- Essayez de faire l'exercice de votre côté avant de regarder la Solution !
Exercice 12
Énoncé
- Initialisez lstVide comme une liste vide, et lstFlottant comme une liste de cinq flottants nuls.
- Affichez ces listes.
- Ajouter à la liste lstVide les nombres entre 0 et 1000 avec "step" de 200
- Utilisez la fonction
range()pour afficher :- Les entiers de 0 à 3 ;
- Les entiers de 4 à 7 ;
- Les entiers de 2 à 8 par pas de 2.
- Définir lstElmnt comme une liste des entiers de 0 à 5 et testez l’appartenance des éléments 3 et 6 à chose.
- Ajouter le contenue des deux listes() à la fin de la liste lstElmnt.
Solution
- Essayez de faire l'exercice de votre côté avant de regarder la Solution !
Exercice 13
Énoncé : Analyse des Ventes de Produits
- Vous êtes chargé de créer un programme pour analyser les ventes de produits informatiques. Le programme doit permettre à l'utilisateur de saisir les informations sur les ventes, les traiter et afficher des statistiques importantes.
- Étapes de l'exercice :
- Saisie des données de vente :
- Demandez à l'utilisateur de saisir le nombre de ventes à enregistrer.
- Pour chaque vente, demandez à l'utilisateur de saisir les informations suivantes :
- Nom du produit (chaîne de caractères)
- Quantité vendue (entier)
- Prix unitaire (flottant)
- Stockez chaque vente comme un tuple (nom_du_produit, quantite_vendue, prix_unitaire) dans une liste.
- Calcul des statistiques :
- Créez une fonction calculer_statistiques(ventes) qui prend la liste des ventes comme argument et retourne un dictionnaire contenant :
- Le produit le plus vendu (en quantité)
- Le produit générant le plus de revenus (quantité * prix unitaire)
- La vente moyenne (en valeur) par produit
- Saisie des données de vente :
- Affichage des résultats :
- Affichez les statistiques calculées sous une forme lisible.
- Contraintes :
- Utilisez des fonctions pour structurer votre code.
- Utilisez des boucles pour gérer la saisie utilisateur et le calcul des statistiques.
- Gérez les erreurs potentielles de saisie utilisateur (par exemple, saisie d'un nombre non valide).
- Exemple de déroulement :
Combien de ventes souhaitez-vous enregistrer ? 3 Vente 1 : Nom du produit : Pomme Quantité vendue : 10 Prix unitaire : 0.5 Vente 2 : Nom du produit : Banane Quantité vendue : 5 Prix unitaire : 0.3 Vente 3 : Nom du produit : Orange Quantité vendue : 8 Prix unitaire : 0.6 Statistiques : - Produit le plus vendu : Pomme (10 unités) - Produit générant le plus de revenus : Orange (4.8 unités) - Vente moyenne par produit : 2.73 unités
Solution
Python
def saisir_ventes():
ventes = []
nombre_de_ventes = int(input("Combien de ventes souhaitez-vous enregistrer ? "))
for i in range(nombre_de_ventes):
print(f"Vente {i+1} :")
nom_du_produit = input(" Nom du produit : ")
quantite_vendue = int(input(" Quantité vendue : "))
prix_unitaire = float(input(" Prix unitaire : "))
ventes.append((nom_du_produit, quantite_vendue, prix_unitaire))
return ventes
def calculer_statistiques(ventes):
if not ventes:
return {}
produit_le_plus_vendu = max(ventes, key=lambda vente: vente[1])
produit_plus_revenu = max(ventes, key=lambda vente: vente[1] * vente[2])
vente_totale = sum(vente[1] * vente[2] for vente in ventes)
nombre_de_ventes = len(ventes)
vente_moyenne_par_produit = vente_totale / nombre_de_ventes
return {
'produit_le_plus_vendu': produit_le_plus_vendu[0],
'quantite_max': produit_le_plus_vendu[1],
'produit_plus_revenu': produit_plus_revenu[0],
'revenu_max': produit_plus_revenu[1] * produit_plus_revenu[2],
'vente_moyenne_par_produit': vente_moyenne_par_produit
}
def afficher_statistiques(stats):
print("\nStatistiques :")
print(f"- Produit le plus vendu : {stats['produit_le_plus_vendu']} ({stats['quantite_max']} unités)")
print(f"- Produit générant le plus de revenus : {stats['produit_plus_revenu']} ({stats['revenu_max']} unités)")
print(f"- Vente moyenne par produit : {stats['vente_moyenne_par_produit']:.2f} unités")
def main():
ventes = saisir_ventes()
statistiques = calculer_statistiques(ventes)
afficher_statistiques(statistiques)
if __name__ == "__main__":
main()