4 - Les dictionnaires en Python
Exercice 53 || Solution
Considérons le dictionnaire suivant:
1) Corriger l'erreur "stockage": "750 G"
2) Créer un programme qui affiche la liste des clés, la liste des valeurs
et la liste des paires de clés et valeurs
3)Inverser les paires "processeur": "Intel core i5" et "stockage": "500 G"
4) Ajouter la pair clé-valeur : "Système d'exploitation" : "Windows 10"
Exercice 54 || Solution
On considère les trois dictionnaires Pythons qui regroupe la totalité du matériels informatiques:
Écrire un programme Python qui regroupe en concaténant ces trois dictionnaires en un seule avec deux méthodes différentes.
Exercice 55 || Solution
On considère le dictionnaire suivant dont les clés sont les noms des élèves et les valeurs des clés sont les moyennes générales obtenues en passant l'examen final:
Ecrire un programme Python qui partitionne ce dictionnaire en deux sous dictionnaires:
- etudiantAdmis dont les clés sont les étudiants admis et les valeurs des clés sont les moyennes obtenues (moyenne supérieurs ou égales à 10 ).
- etudiantNonAdmis dont les clés sont les étudiants non admis et les valeurs des clés sont les moyennes obtenues (moyenne inférieur ou égale à 10).
Exercice 56 || Solution
Ecrire un programme Python qui permet de créer à partir d'un entier entier n saisi au clavier , un dictionnaire formé des entiers de 1 à n et de leurs carrées. Exemple pour n = 7 le dictionnaire sera de la forme:
Exercice 57 || Solution
Écrire un programme en Python qui demande à l'utilisateur de saisir une une chaine de caractère, et de lui renvoyer un dictionnaire dont les clés sont les caractères de la chaine saisie et les valeurs sont les nombres d’occurrences des caractères dans la chaine. Exemple pour la chaine s = "langage" , le programme renvoie le dictionnaire:
Exercice 58 || Solution
Écrire un programme en Python qui demande à l'utilisateur de saisir une une chaine de caractère, et de lui renvoyer un dictionnaire dont les clés sont les caractères de la chaine saisie et les valeurs sont les positions des caractères dans la chaine. Exemple pour la chaine s = "langage" , le programme renvoie le dictionnaire:
Exercice 59 || Solution
Écrire une fonction en Python qui prends en paramètre une liste de nombres entiers et qui renvoie un dictionnaire dont les clés sont les entiers de la liste et dont les valeurs sont 'pair' ou 'impair' selon la parité du nombre.
Exercice 60 || Solution
Écrire un programme en Python qui demande à l'utilisateur de saisir dix nombres entiers de son choix et de lui renvoyer un dictionnaire dont les clés sont les entiers saisis et dont les valeurs sont 'premier' ou 'non premier' selon l'entier saisi.
Exercice 61 || Solution
Écrire un programme en Python qui demande à l'utilisateur de saisir dix nombres entiers de son choix et de lui renvoyer un dictionnaire dont les clés sont les entiers saisis et dont les valeurs sont les listes des diviseurs des nombres saisis. Exemple si l'utilisateur saisi les nombres : 2 , 7 , 11 , 5 , 3 , 19 , 14 , 9 , 1 , 4 , le programme renvoie le dictionnaire:
Exercice 62 || Solution
Écrire un programme en Python qui demande à l'utilisateur de saisir un entier n et de lui renvoyer un dictionnaire dont les clés sont les entiers 1 , 2 , 3 , ...n et dont les valeurs sont 1! , 2! , 3! , ... , n!
Exercice 63 || Solution
Écrire un programme en Python qui demande à l’utilisateur de saisir un entier n et de lui renvoyer un dictionnaire dont les clés sont les entiers 1 , 2 , 3 , …n et dont les valeurs sont les sommes 1 , 1+ 2 , 1+2+3 , … , 1+2+3+...+n
Exercice 64 || Solution
Écrire un programme en Python qui demande à l'utilisateur de saisir un texte et de lui renvoyer un dictionnaire dont les clés sont les mots du texte saisi et les valeurs sont les longueurs des mots qui composent le texte. Exemple pour le texte T = "Python est un langage de programmation" , le programme doit renvoyer le dictionnaire:
Exercice 65 || Solution
Écrire un programme en Python qui demande à l'utilisateur de saisir un texte et de lui renvoyer un dictionnaire dont les clés sont les mots du texte saisi et les valeurs sont les inverses des mots qui composent le texte. Exemple pour le texte T = "Python est un facile" , le programme doit renvoyer le dictionnaire:
Exercice 66 || Solution
Étant donnée un dictionnaire d dont les valeurs des clés sont des listes. Écrire un programme Python qui permet de transformer le dictionnaire d en triant les listes. Exemple pour le dictionnaire:
Le programme doit renvoyer le dictionnaire:
Exercice 67 || Solution
Écrire un programme Python qui permet à partir d'un répertoire donné de crée un dictionnaire dont les clés sont les noms des fichiers textes qui se trouvent dans ce répertoire et les clés sont les nombres des lignes des fichiers
Exercice 68 || Solution
Etant donnée un dictionnaire python dont les clés sont les noms des élèves et les valeurs sont les listes des notes
1 2 3 |
d = {"Aladin": [12, 15 , 17] , "Nathalie" : [15, 13 , 16] , "Robert": [13, 15 , 11] } |
. Ecrire un programme qui remplace les listes des notes par leurs moyennes.
Exercice 69 || Solution
Etant donnée un dictionnaire en python dont les clés sont les noms des élèves et les valeurs sont leurs âges associés:
1 2 3 |
d = {"Robert": 17 , "Catherine" : 21 , "Majid": 23 , "Farid" : 15 } |
Ecrire un algorithme en python qui remplace les âges des élèves au sein du dictionnaire par 'mineur' si l'age < 18 et 'majeur' si non.
Exercice 70 || Solution
Etant donné un dictionnaire python qui contient les données des étudiants: leurs identifiants, nom , section, age...
1 2 3 4 5 6 7 |
students = {'id1': {'name': 'Catherine' , 'section': 'SVT', 'age': 17}, 'id2': {'name': 'Majid' , 'section': 'Math', 'age': 18}, 'id3': {'name': 'Catherine' , 'section': 'SVT', 'age': 17}, 'id4': {'name': 'Robert' , 'section': 'Physique', 'age': 19} } |
Ecrire un algorithme en python qui permet de supprimer les données dupliqués.
Exercice 71 || Solution
Etant donnée un dictionnaire en python dont les clés sont les noms des élèves et les valeurs sont leurs âges associés:
1 2 3 |
d = {"Robert": 17 , "Catherine" : 21 , "Majid": 23 , "Farid" : 15 } |
Ecrire un algorithme en python qui transforme le dictionnaire d en une liste de la forme:
1 2 3 |
[('Robert', 17), ('Catherine', 21), ('Majid', 23), ('Farid', 15)] |
Exercice 72 || Solution
Ecrire un algorithme en Python qui prend en entré le texte: T = "les versions Python 3.9 et Python 3.10 sont beaucoup plus utilisées que les versions Python 2.x"
et renvoie un dictionnnaire dont les clés sont les mots du texte T et le valeurs associés sont les occurrences des mots dans le texte
Exercice 73 || Solution
Etant donné deux dictionnaires Formation1 et Formation2 dont les clés sont les noms des modules de formations proposées et dont les valeurs des clés sont les prix associés en Euro. Formation1 = {"Python" : 350 , "Django" : 400 , "PHP" : 320 , "Java" : 450}, Formation2 = {"Python" : 570 , "Django" : 350 , "PHP" : 300 , "Java" : 570}. Ecrire un algorithme qui génère à partir de ces deux dictionnaires, un autre dictionnaire nommé Formation formé des mêmes clés et dont les valeurs associées sont les minimum des valeurs des prix de Formation1 et Formation2.
Exercice 74 || Solution
Ecrire un algorithme en Python qui à partir du texte T = "Python est un langage de programmation de haut niveau", crée un dictionnaire nommé position_a dont les clés sont les mots du texte T et dont les valeurs sont les positions de la lettre 'a' dans les mots. Si la lettre 'a' , ne figure pas dans le mot, la position sera -1.
Exercice 75 || Solution
Etant donné le dictionnaire Python suivant qui contient les noms des élèves avec leurs notes à l'examen:
1 2 3 4 |
newResults = {'Maria': 19, 'Amelia': 16, 'Bernard': 18, 'Hafid': 18, 'Hajar': 19, 'Jules': 15, 'Nathan': 20, 'Enzo': 17} |
Ecrire un algorithme en Python qui permet d'améliorer les notes des élèves en faisant une translation qui consiste à ajouter 2 points à chaque élève.
Exercice 76 || Solution
Le dictionnaire python suivants regroupe les noms des élèves avec leurs moyennes reçu l'examen:
1 2 3 4 |
Students = {"Maria":17 , "Amelia":14, "Bernard":16 , "Hafid": 16, "Hajar":17 , "Jules":13 , "Nathan":18 , "Enzo":15} |
On vous demande de créer un algorithme en python qui pemet d'extraire la liste des noms des élèves et la liste de leurs notes.
Exercice 77 || Solution
Ecrire un algorithme sous forme de fonction qui permet de trier un dictionnaire dans l'ordre croissant selon les valeurs et un autre programme selon l'ordre décroissant.
Exercice 78 || Solution
Montrer comment peut on convertir un dictionnaire Python en une liste. Traiter à titre d'exemple le cas du dictionnaire: d = {'a': 1, 'b': 2, 'c': 3}.
Exercice 79 || Solution
Voici un exercice qui combine les dictionnaires et les listes en Python:
- Créez un dictionnaire appelé "personnes" qui contient les informations suivantes sur trois personnes : leur nom, leur âge et leur ville d'origine.
- Ajoutez une nouvelle personne au dictionnaire "personnes" en utilisant la méthode "update()".
- Utilisez une boucle "for" pour parcourir le dictionnaire "personnes" et afficher les informations de chaque personne.
- Créez une liste appelée "villes" qui contient les villes d'origine de chaque personne du dictionnaire "personnes". Utilisez la méthode "values()" pour accéder aux valeurs du dictionnaire.
- Utilisez une boucle "for" pour parcourir la liste "villes" et afficher chaque ville.
- Utilisez la méthode "sort()" pour trier la liste "villes" dans l'ordre alphabétique.
- Utilisez la méthode "count()" pour compter le nombre de fois où chaque ville apparaît dans la liste "villes".
- Utilisez la méthode "items()" pour parcourir les entrées du dictionnaire "personnes" et afficher le nom et l'âge de chaque personne.
- Supprimez la première personne du dictionnaire "personnes" en utilisant la méthode "pop()".
Younes Derfoufi
CRMEF OUJDA
c telmen ben piré jador