Livre_silo 30 août 2013 16:32 Page 378
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
378
Informatique pour tous
Dans l’exemple suivant, on reprend le fichier contenant des données sur des joueuses de
tennis, on récupère la liste des lignes et on ferme le fichier aussitôt après. On ouvre ensuite
un nouveau fichier dans lequel on écrit les mêmes données, mais formatées différemment
(les données sont séparées par des tabulations) :
f = open('tennis.txt','r')
liste = f.readlines()
f.close()
f = open('tennis-bis.txt','w')
for joueuse in liste: # joueuse est une chaine de caractères
tab = joueuse.strip().split(',') # tab est un tableau
f.write(tab[0]+'\t'+tab[1]+'\t'+tab[2]+'\n')
f.close()
Exercice B.2 Si c est une chaîne de caractères, c.upper() renvoie une chaîne où toutes les minuscules
de c ont été remplacées par des majuscules :
In [5]: 'Hop'.upper()
Out[5]: 'HOP'
Écrire une suite d’instructions copiant un fichier en changeant au passage toutes les minuscules en majuscules.
On pourra appliquer ceci au fichier .py contenant ces instructions !
Exercice B.3 Un fichier texte contient 5 398 lignes de la forme :
1234 TOURNESOL Tryphon
Admissible
2
ou bien :
43210 HADDOCK Archibald
Eliminé
-
(Des tabulations séparent les quatre champs ; le nom et le prénom séparés par un espace sont dans un
même champ.)
Écrire une suite d’instructions qui lit ce fichier, détermine le nombre d’admissibles et le nombre de candidats attribués à chaque série d’oral.
Une recherche sur Internet sur « admissibles mines 2013 » suivie d’un copier/coller de texte doit permettre
au lecteur de ne pas travailler dans l’abstraction.
Exercice B.4 On s’intéresse maintenant à l’écriture et à la lecture de matrices d’entiers sous différents
formats. Dans chaque cas, il est demandé d’écrire une fonction écrivant (resp. lisant) une matrice dans un
fichier.
1 On commence par écrire les dimensions de la matrice sur la première ligne (4*12), puis on écrit une
autre ligne contenant toutes les données séparées par des virgules (en commençant par les éléments
de la première ligne par exemple).
2 On écrit les dimensions sur la première ligne, puis chaque ligne de la matrice est écrite dans une ligne
du fichier.
3 On se contente d’écrire les lignes de la matrice sur des lignes différentes du fichier, en séparant les
éléments d’une ligne par des tabulations.
4 On écrit la matrice sur une seule ligne, au format [[a(1,1),...,a(1,n)],...,[a(m,1),...,a(m,n)]].
Comment modifier les différentes fonctions pour autoriser la manipulation de matrices de flottants ?
Exercice B.5 On trouve sans trop de mal le texte original de Hamlet sur Internet.
1 Récupérer et enregistrer la version française de ce texte dans un fichier .txt.
2 À l’aide de Python, compter le nombre d’interventions des différents protagonistes. Faire des statistiques
sur le nombre de mots, de lettres, lesquels sont le plus utilisés, etc.
3 Recommencer avec la version originale.
Précédent

- 391/402

Suivant