Bloc-notes
Math Lycée
Info Lycée
Menu contextuel
Manipulation d'un texte (Fiche élève)
[ZQV621]

Voici quelques exercices pour mettre à l'épreuve vos connaissances du langage Python.

L'information en entrée est un fichier qui contient un texte en français.
  • Le texte est constitué de paragraphes.
  • Les paragraphes sont séparés entre eux par au moins deux retours à la ligne.
  • Un paragraphe est constitué de phrases.
  • Une phrase se termine toujours par un point (ou un point d'exclamation ou un point d'interrogation) suivi d'une espace ou d'un retour à la ligne.
  • Une phrase est constituée de mots.
1.
Proposez une définition précise de ce qu'est un mot.
2.
Vous devez créer les six programmes.

Chacun des six programmes lit le texte du fichier « texte.txt » Les trois derniers programmes transforment le texte et enregistrent le texte transformé dans un nouveau fichier.

(a)
Le programme n°1 affiche le nombre de paragraphes, le nombre de phrases et le nombre de mots du texte.
(b)
Le programme n°2 affiche le mot le plus long et la longueur moyenne d'un mot.
(c)
Le programme n°3 affiche la phrase la plus longue et la phrase la plus courte.
(d)
Le programme n°4 supprime toutes les voyelles du texte.
(e)
Le programme n°5 remplace la lettre « a » par la lettre « o » et la lettre « o » par la lettre « a ».
(f)
Le programme n°6 met une majuscule au début de chaque phrase.

Voici un exemple de programme pour vous aider. Tâchez de comprendre ce qu'il fait, testez-le sur un exemple et inspirez-vous en pour écrire vos programmes.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

infile = open('texte.txt', 'r')
text = infile.read()
# Maintenant `text` est une chaîne qui contient tout le texte du fichier
# On ouvre à présent un nouveau fichier en écriture ('w' signifie 'write')
outfile = open('textebis.txt', 'w')
cr = 0
for c in text:
    # Remarquez bien la ligne suivante : il faut DEUX caractères '=' pour comparer
    if c == '\n':    # \n représente un seul caractère : le retour à la ligne
        cr = cr + 1
        outfile.write(' ')
    else:
        outfile.write(c)
print "Le texte contient", cr, "retours à la ligne"
outfile.close()



Denis Pinsard -- Mis à jour le dimanche 23 septembre 2012

Infos site
Visites

 0 visiteurs

 1 visiteur en ligne

Calendrier
^ Haut ^