3. Téléchargez le fichier temperatures.txt de la page web du cours avec la commande :
$ wget http://pageperso.lif.univ-mrs.fr/~stefano.facchini/python/temperatures.txt
Le fichier contient les températures de certaines villes dans le format “«ville» : «température»”.
Le but de l’exercice est écrire un programme villes.py qui : 1. extrait les informations et les
mémorise dans une «base de données» (un dictionnaire Python) 2. propose à l’utilisateur la liste
des villes disponibles et lui demande de quelles villes il veut connaître la température 3. affiche
les informations demandées.
Session d’exemple :
$ python3 villes.py
De quelles villes voulez-vous la température entre : Paris, New York, Londres,
Marseille, Vladivostok ?
Entrez les noms des villes. Tapez RETURN pour terminer.
Nom : Londres
Nom : Vladivostok
Nom : Paris
Nom :
+-----------------+------+
| VILLE | TEMP |
+-----------------+------+
| Londres | 13 |
| Vladivostok | -5 |
| Paris | 10 |
+-----------------+------+
.Ecrivez une fonction convertir_ligne(s) qui prends une chaîne dans le format “«ville» :
«température»” et renvoie une liste avec le nom de la ville et la température.
>>> convertir_ligne(’Paris : 15’)
[’Paris’, 15]
.Ecrivez une fonction lire_fichier(nom_du_fichier) qui lit un fichier de données dont le
nom est passé en argument, et renvoie un dictionnaire qui contient les informations sous-
forme clé-valeur, par exemple :
>>> lire_fichier(’temperatures.txt’)
{ ’Londres’: 13, ’Marseille’: 20, ’New York’: 10 }
Hint : Utilisez la fonction convertir_ligne(s) sur chaque ligne du fichier.
.Ecrivez une fonction demande_villes(base_donnees) qui prends un dictionnaire base_donnees,
affiche la liste de villes disponibles dans le dictionnaire et demande à l’utilisateur de quelles
villes il veut connaître la température. Finalement, la fonction renvoie une liste avec les
noms entrés.
.Ecrivez une fonction affiche_donnees(base_donnees, villes) qui prends un dictionnaire
base_donnees et une liste de noms de ville villes, et affiche un tableau avec les tempéra-
tures pour les villes demandées. L’affichage doit suivre le modèle de la session d’exemple en
haut.
.Utilisez les fonctions ainsi définies pour écrire le programme complet.
2