Vous êtes sur la page 1sur 3

TP3 

Python
Dictionnaires & Fichiers

Exercice1 :
Nous souhaitions contrôler l’accès utilisateur à travers un programme d’authentification. Le
programme doit rechercher le login et le mot de passe dans un fichier préalablement rempli par
l’administrateur (on initialisera ce fichier avant vérification). Le programme doit proposer à
l’utilisateur trois tentatives d’essai.

Quelques pistes et recommandations

● Utiliser un dictionnaire pour remplir le fichier


● Définir la fonction  vérifier
● Sérialisation des données avec le module Pickle dans un fichier

Le module Pickle est pratique pour sauvegarder dans un fichier des structures de


données comme les listes (type list) ou les dictionnaires (type dict).

Pickling

Un exemple de sauvegarde d'un dictionnaire :

import pickle

# création d'un dictionnaire

departement = {36: 'Indre', 30: 'Gard', 75: 'Paris'}

# enregistrement du dictionnaire dans un fichier

Fichier = open('data.txt', 'wb')

pickle.dump(departement, Fichier) # sérialisation

Fichier.close()

Unpickling

L'opération inverse est tout aussi simple :

import pickle
# récupération du dictionnaire

Fichier = open('data.txt', 'rb')

Dept = pickle.load(Fichier) # désérialisation

Fichier.close()

print(Dept)

print(Dept[36])

>>>

{75: 'Paris', 36: 'Indre', 30: 'Gard'}

Indre

Exercice2 :
Le type dictionnaire (ou tableau associatif) permet de représenter des tableaux struc-
turés. En effet, à chaque clé un dictionnaire associe une valeur, et cette valeur peut
elle-même être une structure de donnée (liste, tuple ou un dictionnaire. . .).

Énoncés
Soit le tableau suivant représentant des informations physico-chimiques sur des élé-
ments simples (température d’ébullition (Te ) et de fusion (Tf ), numéro (Z) et masse
(M) atomique :

Affectez les données de ce tableau à un dictionnaire dico python de façon à pouvoir


écrire par exemple :
>>> print dico["Au"]["Z/A"][0] # affiche : 79
Exercice3 :
dico.py : Lire le fichier dico.txt et en ressortir les palindromes.
Aide
Z mot = mot.replace("\n", "") permet de supprimer le retour à la ligne d’une chaîne.

Exercice 4 :

Vous aimerez peut-être aussi