Readme
Exercices - Structures imbriquées et compréhensions
Exercice 1 : Manipulation de structures imbriquées
On considère la structure suivante représentant des élèves et leurs notes :
eleves = [
{"nom": "Dupont", "prenom": "Alice", "notes": [12, 15, 14, 18]},
{"nom": "Martin", "prenom": "Bob", "notes": [8, 11, 9, 13]},
{"nom": "Durand", "prenom": "Claire", "notes": [16, 17, 19, 15]},
{"nom": "Petit", "prenom": "David", "notes": [10, 12, 11, 14]}
]
Question 1
Sans exécuter le code, déterminer ce que renvoient les instructions suivantes :
Question 2
Écrire une fonction moyenne_eleve(eleve) qui prend un dictionnaire représentant un élève et renvoie sa moyenne.
Question 3
Écrire une fonction meilleur_eleve(eleves) qui prend la liste des élèves et renvoie le nom complet (prénom + nom) de l'élève ayant la meilleure moyenne.
Question 4
Écrire une fonction eleves_au_dessus(eleves, seuil) qui renvoie la liste des prénoms des élèves ayant une moyenne supérieure ou égale au seuil.
Exercice 2 : Compréhensions de listes
Question 1
Écrire en compréhension une liste contenant les carrés des entiers de 1 à 20.
Question 2
Écrire en compréhension une liste contenant uniquement les nombres pairs de 1 à 50.
Question 3
Soit la liste suivante :
Écrire en compréhension une liste contenant uniquement les mots de plus de 4 caractères.
Question 4
Écrire en compréhension une liste contenant les mots de la liste précédente, mais en majuscules.
Question 5
Soit la liste suivante :
Écrire en compréhension une liste contenant uniquement les nombres positifs, multipliés par 2.
Exercice 3 : Compréhensions de dictionnaires
Question 1
Écrire en compréhension un dictionnaire associant chaque entier de 1 à 10 à son carré.
Question 2
Soit la liste suivante :
Écrire en compréhension un dictionnaire associant chaque prénom à sa longueur.
Question 3
Soit le dictionnaire suivant représentant des températures en Celsius :
Écrire en compréhension un dictionnaire convertissant ces températures en Fahrenheit.
Rappel : F = C × 9/5 + 32
Question 4
Soit le dictionnaire suivant :
Écrire en compréhension un dictionnaire ne contenant que les élèves ayant une note supérieure ou égale à 10.
Exercice 4 : Structures complexes
On représente un tournoi de jeux vidéo avec la structure suivante :
tournoi = {
"nom": "Championship 2024",
"jeu": "League of Legends",
"equipes": [
{
"nom": "Team Alpha",
"joueurs": ["Faker", "Zeus", "Oner"],
"victoires": 5
},
{
"nom": "Team Beta",
"joueurs": ["Caps", "Jankos", "Mikyx"],
"victoires": 3
},
{
"nom": "Team Gamma",
"joueurs": ["Chovy", "Deft", "Keria"],
"victoires": 4
}
]
}
Question 1
Écrire les instructions permettant d'accéder à : - Le nom du tournoi - Le nombre d'équipes participantes - Le nom du deuxième joueur de la première équipe - Le nombre de victoires de "Team Gamma"
Question 2
Écrire une fonction equipe_gagnante(tournoi) qui renvoie le nom de l'équipe ayant le plus de victoires.
Question 3
Écrire une fonction tous_les_joueurs(tournoi) qui renvoie la liste de tous les joueurs du tournoi (en utilisant une compréhension).
Question 4
Écrire une fonction ajouter_victoire(tournoi, nom_equipe) qui ajoute une victoire à l'équipe spécifiée.
Exercice 5 : Double compréhension (Pour aller plus loin)
Question 1
Écrire en compréhension une liste contenant toutes les coordonnées (x, y) d'une grille 3×3, sous forme de tuples.
Question 2
Écrire en compréhension une matrice identité 4×4 (1 sur la diagonale, 0 ailleurs).
Question 3
Soit la matrice suivante :
Écrire en compréhension une liste contenant tous les éléments de la matrice "aplatis" en une seule liste.
Source : Florian Mathieu - Licence CC BY NC SA