PTSI2 – 2016/2017 – Info Lycée La Martinière-Monplaisir – Lyon
TP 5. Manipulation de fichiers avec Python.
Créez, comme d’habitude, un sous-répertoire TP05 dans votre répertoire personnel Python ou Info.
Allez sur le site delphine.sembely.free.fr/tp.html et téléchargez les fichiers suivants dans votre
sous-répertoire TP05 :
toto.txt,premiers-1000.csv,voc_anglais.csv,run.csv,Vers_Queneau.txt.
CONSEILS
HAvant de commencer un exercice :
Ouvrir les fichiers correspondants (.txt et .csv), dans un tableur tel que Excel ou LibreOffice
(on peut aussi prendre un éditeur de texte pour les .txt).
Ensuite, bien, fermer les fichiers, sinon le programme python risque de donner des erreurs.
HPour voir à quoi ressemble chaque ligne (en particulier, pour repérer les éventuels \t ou \n
invisibles dans un tableur) :
Si on a récupéré les lignes dans une variable les_lignes avec la syntaxe vue en cours (mode
lecture, méthode readlines), on pourra faire print(les_lignes).
Si le résultat est trop long, faire par exemple print(les_lignes[:3]) (slicing) pour avoir la
sous-liste des 3 premières lignes.
Exercice 1. 1◦)Écrire un script permettant d’afficher chaque ligne du fichier toto.txt, accompa-
gnée du nombre de caractères de la ligne en question.
2◦)Vérifiez en comptant les caractères à la main. Modifier si nécessaire votre script pour que le
résultat devienne correct.
Exercice 2. 1) À l’aide de premiers-1000.csv, calculer la somme des 1000 premiers nombres premiers.
2) Créer un fichier carre_aleatoire.csv contenant un carré de taille 10 ×10 rempli de chiffres
aléatoires. On se servira de la fonction randint(0,9) de la bibliothèque random, qui renvoie un nombre
aléatoire entre 0 et 9.
Exercice 3. Le fichier voc_anglais.csv contient deux colonnes : dans la première se trouvent des
mots ou expressions en français, et dans la deuxième se trouve leur traduction en anglais.
1◦)Récupérer les mots en français et les stocker dans une liste les_mots_fr ; stocker de même les
mots en anglais dans une liste les_mots_ang.
2◦)Un étudiant souhaite s’entraîner chaque soir sur cette liste de vocabulaire. Écrire un programme
qui fait les actions suivantes :
— Afficher le nombre de mots disponibles et demander à l’étudiant de choisir un nombre kde
mots à réviser.
— Créer une liste les_indices contenant kindices distincts de mots à tester ; on s’aidera de la
fonction sample de la bibliothèque random.
— Pour chacun des kmots choisis, afficher le mot en français, et demander à l’étudiant de taper
sa réponse ; on affichera alors s’il s’est trompé ou non, et la bonne réponse si nécessaire.
— On pourra terminer par un affichage du nombre de bonnes réponses.
Exercice 4. Ouvrir dans un tableau le fichier run.csv pour découvrir son contenu (résultats du
marathon de Lyon 2012).
Écrire une suite d’instructions qui lit ce fichier et qui détermine le nombre de femmes et le nombre
d’hommes ayant participé.
1