1. Ecrivez une fonction x_en_premier(mots) qui prends en argument

publicité
TP 2
1. Ecrivez une fonction x_en_premier(mots) qui prends en argument une liste de chaînes mots, et
renvoie une liste triée, sauf que toutes les chaînes qui commencent par ‘x’ doivent précéder les
autres.
>>> x_en_premier([’mix’, ’xyz’, ’apple’, ’xanadu’, ’aardvark’])
[’xanadu’, ’xyz’, ’aardvark’, ’apple’, ’mix’]
2. Reprenez le programme vu en TD 1 pour le triangle de Pascal : tapez le fonctions dans un script
pascal.py et testez-le.
. Modifiez la fonction pascal(n) de façon qu’elle renvoie une liste avec les lignes du triangle,
au lieu de l’afficher directement.
>>> pascal(4)
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1]]
. Ecrivez une fonction affiche_pascal(triangle) qui prends en argument un triangle et
l’affiche proprement. Utilisez les méthodes de formatage des chaînes.
Bonus : Essayez d’utiliser l’instruction print() une seule fois en fin de fonction.
>>> triangle = pascal(6)
>>> affiche_pascal(triangle)
1
1
1
1
2
1
1
3
3
1
1
4
6
4
1
1
5
10 10 5
1
. Assurez-vous que l’affichage marche bien avec de nombres de plusieurs chiffres. Par exemple,
testez le programme avec un triangle de 14 ligne.
1
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 sousforme 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ératures 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
Téléchargement