0% ont trouvé ce document utile (0 vote)
4 vues4 pages

Dictionnaires et exercices Python API-2

Le document présente un TP sur les dictionnaires en Python, expliquant leur structure, leur mutabilité et leur utilisation. Il propose plusieurs exercices, notamment le comptage d'occurrences de caractères, le regroupement d'anagrammes, la gestion des notes d'un étudiant et le chiffrement de données personnelles. Chaque exercice inclut des exemples et des instructions claires pour la mise en œuvre des fonctions demandées.

Transféré par

saadhalabi8456
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)
4 vues4 pages

Dictionnaires et exercices Python API-2

Le document présente un TP sur les dictionnaires en Python, expliquant leur structure, leur mutabilité et leur utilisation. Il propose plusieurs exercices, notamment le comptage d'occurrences de caractères, le regroupement d'anagrammes, la gestion des notes d'un étudiant et le chiffrement de données personnelles. Chaque exercice inclut des exemples et des instructions claires pour la mise en œuvre des fonctions demandées.

Transféré par

saadhalabi8456
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

ENSAM-Casablanca Programmation Python API-2

TP5 : Les collection (Les dictionnaires)


Les dictionnaires
▪ Un dictionnaire est une collection de paires clé-valeur, où chaque clé est unique.
▪ Les dictionnaires sont mutables, permettant d'ajouter, de supprimer ou de modifier des éléments.
▪ Les clés doivent être de types immuables (comme des chaînes, des nombres ou des tuples).
▪ Les valeurs peuvent être de n'importe quel type, offrant une grande flexibilité dans la structuration des
données.

Exemple :

# Création d'un dictionnaire vide


dictionnaire_vide = {}

# Création d'un dictionnaire avec différents types d'objets


dictionnaire_varie = {
"nom": "Hamza", # Chaîne de caractères
"age": 20, # nombre
"est_etudiant": True, # Booléen
"notes": [85, 90, 78], # Une Liste
"adresse": { # Dictionnaire imbriqué
"ville": « CasaBlanca",
"code_postal": 12400 }
}

Opération sur les dictionnaires

Exercice 1 :
Ecrire une fonction Occurrences qui prend en paramètre un mot et renvoie un dictionnaire qui pour chaque
caractère du mot associe le nombre d’occurrence de chaque lettre. On précisera que les autres caractères ., ;:!?
sont exclus :
Exemple : pour la chaine = "Google" , le programme renvoie le dictionnaire: d = {'g': 2, 'o': 2, 'l': 1, 'e': 1}

Exercice 2 :
Ecrire une fonction Python qui reçoit une chaine de caractère et retourne un dictionnaire dont les clés sont les
caractères de la chaine saisie et les valeurs sont la liste des positions des caractères dans la chaine.
Exemple : pour la chaine = "Google" , le programme renvoie le dictionnaire: d={'g' :[1,4], 'o' :[2,3], 'l' :[5], 'e' : [6] }

1
ENSAM-Casablanca Programmation Python API-2

Exercice 3 : Regroupement d’anagrammes

Écrire une fonction qui prend en paramètre une liste de mots et retourne un dictionnaire où :
• Les clés sont des tuples contenant les caractères d’un mot triés par ordre alphabétique.
• Les valeurs sont des listes de mots originaux qui sont des anagrammes entre eux (i.e., ils contiennent
exactement les mêmes lettres, dans un ordre différent).
Règles à respecter :
➢ Ignorer la casse (traiter tous les mots en minuscules).
➢ Ignorer la ponctuation .,;:!? dans les mots.
➢ Un mot ne doit pas apparaître dans plusieurs groupes.

Exemple : pour la liste : mots = ["écoute", "couteu", "google", "gogole", "apple"], le programme renvoie
le dictionnaire :
d={
('c', 'e', 'o', 't', 'u', 'é') : ['écoute', 'couteu'],
('e', 'g', 'g', 'l', 'o', 'o') : ['google', 'gogole'],
('a', 'e', 'l', 'p', 'p') : ['apple']
}

Rappel : Un tuple est une liste qui ne peut plus être modifiée.

# Création d'un tuple vide


mon_tuple = ()

# Création d'un tuple avec des valeurs


mon_tuple = (1, "ok", "olivier")

# Création d'un tuple avec une seule valeur


mon_tuple = ("ok",)

# Afficher une valeur d'un tuple


mon_tuple[0] # Résultat : 1

# Création d'un tuple par la fonction tuple()


mon_tuple = tuple(("API -2", "ENSAM", 2025)) # note the double round-brackets

2
ENSAM-Casablanca Programmation Python API-2

Exercice 4 : Gestion des notes d'un étudiant

Écrire un programme Python qui permet de gérer les notes d’un étudiant en suivant les étapes ci-dessous.
1 Saisie des données
• Demander à l’utilisateur de saisir les notes de 4 modules :
− Mathématiques
− Physique
− Français
− Informatique

• Stocker les notes dans un dictionnaire où :


− Clé : Nom du module (chaîne de caractères).
− Valeur : Note (nombre réel).
2 Calculs et affichages
Le programme doit réaliser les actions suivantes :
• Calculer et afficher la moyenne générale de l’étudiant.
• Identifier et afficher :
− La meilleure note obtenue.
− Le module correspondant à cette note.
• Afficher la liste des modules réussis (note ≥ 10).
• Afficher la liste des modules à rattraper (note < 10) avec : Le nombre de points manquants pour
atteindre la moyenne (10).

Exemple : pour le dictionnaire


Notes = {
Mathématiques : 14
Physique : 8
Français : 12
Informatique : 9
},
le programme renvoie le résultat suivant :

- Moyenne générale : 10.75


- Meilleure note : 14 (Mathématiques)
- Modules réussis : ['Mathématiques', 'Français']
- Modules à rattraper :
- Physique (2.0 points manquants)
- Informatique (1.0 points manquants)

3
ENSAM-Casablanca Programmation Python API-2

Exercice 5 : Chiffrement des données personnelles de la carte nationale (Chiffrement de César)

Vous êtes chargé de développer un programme pour sécuriser des données personnelles de la carte nationale en
utilisant un chiffrement simple appelé chiffrement de César. Ce chiffrement consiste à décaler chaque caractère
de l'alphabet et chaque chiffre d'un nombre fixe de positions dans l'ordre. Dans cet exercice, nous utiliserons un
décalage de 3 positions.
Objectifs :
1. Récupération des informations : Implémentez une fonction permettant de récupérer les informations
personnelles d'une carte nationale dans un dictionnaire (Nom, Prénom, Numéro de la CINE).
2. Chiffrement des données personnelles : Implémentez une fonction qui applique un décalage de 3 sur
chaque caractère d'une donnée personnelle (lettres et chiffres uniquement).
3. Déchiffrement des données personnelles : Implémentez une fonction qui inverse le décalage de 3 pour
retrouver les données originales.
Explications :
• Chiffrement des lettres :
➢ Les lettres de l'alphabet sont décalées de 3 positions. Par exemple, "A" devient "D", "B" devient
"E", "C" devient "F", etc.
➢ Le décalage est cyclique : après "Z", on revient à "A". Donc, "Y" devient "B" et "Z" devient "C".
• Chiffrement des chiffres :
➢ Les chiffres sont également décalés de 3 positions. Par exemple, "1" devient "4", "2" devient "5",
"3" devient "6", etc.
➢ Le décalage des chiffres est aussi cyclique : après "9", on revient à "0". Donc, "8" devient "1", "9"
devient "2", etc.
Exemple de chiffrement :
• " Mohamed Amine " devient " Prkdphg Dplqh "
• " Ali " devient " Dol "
• "AB123456 " devient " DE456789 "

Vous aimerez peut-être aussi