0% ont trouvé ce document utile (0 vote)
16 vues5 pages

Fiche de TD Python

Le document présente plusieurs exercices de programmation en Python, chacun se concentrant sur des manipulations de listes et de tuples. Les tâches incluent la détection de sous-listes croissantes, la transformation de listes selon la parité, l'analyse de ventes et la gestion d'inventaire. Chaque exercice est accompagné de questions spécifiques à résoudre, favorisant l'application de concepts algorithmiques et logiques.

Transféré par

chrisostomesaah0
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
16 vues5 pages

Fiche de TD Python

Le document présente plusieurs exercices de programmation en Python, chacun se concentrant sur des manipulations de listes et de tuples. Les tâches incluent la détection de sous-listes croissantes, la transformation de listes selon la parité, l'analyse de ventes et la gestion d'inventaire. Chaque exercice est accompagné de questions spécifiques à résoudre, favorisant l'application de concepts algorithmiques et logiques.

Transféré par

chrisostomesaah0
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Fiche de TD

Détection de sous-listes strictement croissantes


On considère une liste d’entiers.

Écrire un programme Python qui vérifie si la liste contient au moins une sous-liste consécutive
strictement croissante de longueur ≥ 3, retourne cette sous-liste si elle existe, sinon retourne une
liste vide.

Transformation conditionnelle d’une liste


On considère une liste d’entiers.

Écrire un programme qui remplace chaque nombre pair par son carré; remplace chaque nombre
impair par son cube; retourne la nouvelle liste, sans modifier la liste initiale.

Regroupement par parité


On considère une liste d’entiers.

Écrire un programme qui crée un dictionnaire avec deux clés : "pairs" et "impairs",classe chaque
élément de la liste dans la bonne catégorie, et retourne le dictionnaire

Détection d’un plateau maximal


On considère une liste d’entiers.

Un plateau est une suite d’éléments identiques consécutifs. Écrire un programme qui trouve le
plateau le plus long, retourne un tuple (valeur, longueur) correspondant au plateau maximal.

Fonction d’analyse d’une liste (statistiques simples)


On considère une liste d’entiers.

Écrire une fonction analyse(liste) qui retourne la somme des éléments, retourne la moyenne,
retourne le nombre d’éléments strictement supérieurs à la moyenne. La fonction doit retourner
un tuple.
Filtrage + transformation conditionnelle (lambda + map +
filter)
On considère une liste d’entiers.

Écrire un programme Python qui ; utilise une fonction lambda avec “filter()” pour extraire les
nombres strictement positifs ; utilise une fonction lambda avec “map()” pour transformer chaque
nombre extrait en son carré ; affiche la liste obtenue.

Sélection et agrégation (lambda + max)


On considère une chaîne de caractères.

Écrire un programme Python qui construit un dictionnaire {caractère : fréquence} en utilisant


une fonction lambda pour déterminer le caractère le plus fréquent et affiche ce caractère et sa
fréquence.

Manipulation des listes et des tuples


Analyse des ventes d’un magasin
Un magasin enregistre ses ventes sous la forme d’une liste de tuples :

ventes = [
("Laptop", [1200, 1350, 1280]),
("Phone", [800, 820, 780]),
("Tablet", [450, 470, 500]),
("Monitor", [300, 320, 310]),
("Printer", [200, 190, 210])
]

Chaque tuple contient le nom du produit et la liste des prix de vente enregistrés sur plusieurs
jours.

Questions :

1.​ Afficher chaque produit suivi de son prix moyen.


2.​ Créer une liste de tuples (produit, prix_moyen) pour les produits dont le prix moyen est
supérieur à 500.
3.​ Trouver le produit ayant le prix moyen le plus élevé, sans utiliser max().
4.​ Trier les produits par prix moyen décroissant.
5.​ Créer un tuple contenant les produits dont le prix moyen est strictement supérieur au prix
moyen global.

Gestion d’un inventaire avec contraintes logiques


Une entreprise stocke ses produits sous la forme suivante :

stock = [
("Clavier", 15, 25),
("Souris", 8, 12),
("Ecran", 20, 7),
("Imprimante", 5, 30),
("Routeur", 12, 18)
]

Chaque tuple contient :

(nom_produit, quantité_disponible, seuil_minimal)

●​ quantité_disponible : nombre d’unités en stock


●​ seuil_minimal : quantité minimale requise

Questions :

1.​ Afficher les produits en rupture imminente. Un produit est en rupture imminente si :
quantité_disponible < seuil_minimal
2.​ Créer une liste des produits “sécurisés”. Un produit est sécurisé si : quantité_disponible ≥
2 × seuil_minimal. Retourner une liste contenant uniquement leurs noms.
3.​ Calculer l’écart total de stock. Pour chaque produit, calculer “écart = quantité_disponible
- seuil_minimal”. Créer une liste de tuples (nom, écart).
4.​ Trouver le produit ayant l’écart le plus critique. C’est-à-dire celui dont l’écart est le plus
négatif. Ne pas utiliser min().
5.​ Créer un tuple contenant les produits dont l’écart est strictement positif et pair.

Planification de livraisons (logique cumulative)


Une entreprise organise des livraisons. Les données sont stockées sous la forme :

livraisons = [("Camion_A", 120, 3), ("Camion_B", 80, 5), ("Camion_C", 150, 2), ("Camion_D",
60, 4)]
Chaque tuple contient : (nom_camion, distance_parcourue_km, nombre_de_livraisons)

Questions :

1.​ Calculer la distance moyenne par livraison pour chaque camion.


2.​ Créer une liste des camions ayant effectué plus de 100 km au total.
3.​ Trouver le camion ayant le rendement le plus élevé (distance moyenne par livraison),
sans max().
4.​ Trier les camions par nombre de livraisons croissant.
5.​ Créer un tuple contenant les camions dont la distance totale est un multiple de 3.

Analyse d’événements système (plus informatique)


Un serveur enregistre des événements sous la forme :

logs = [("INFO", 120), ("ERROR", 15), ("WARNING", 40), ("CRITICAL", 5), ("DEBUG",
200)]

Chaque tuple contient : (type_evenement, nombre_occurrences)

Questions :

1.​ Calculer le nombre total d’événements enregistrés.


2.​ Créer une liste des types d’événements représentant plus de 10 % du total.
3.​ Trouver le type d’événement le moins fréquent sans utiliser min().
4.​ Trier les événements par fréquence décroissante.
5.​ Créer un tuple contenant les types dont le nombre d’occurrences est pair.

Analyse de segments numériques (algorithmique pur)


On considère une liste de tuples représentant des intervalles :

segments = [(1, 5), (3, 8), (10, 15), (14, 18), (20, 25)]

Chaque tuple représente : (debut, fin)

Questions :

1.​ Calculer la longueur de chaque segment.


2.​ Créer une liste des segments dont la longueur est supérieure à 4.
3.​ Trouver le segment le plus long sans utiliser max().
4.​ Trier les segments par longueur croissante.
5.​ Créer un tuple contenant les segments dont la longueur est un nombre pair.

Vous aimerez peut-être aussi