Un acrostiche est un jeu littéraire qui consiste à écrire un poème dont on peut lire un mot formé par les lettres initiales des vers. Ce mot est souvent le nom de l’auteur, le nom de celui à qui on dédie le poème ou un mot en rapport avec le titre du poème. Voici un exemple d’un tel poème en anglais, rédigé par l’écrivain Edgar Allan Poe :
Définissez une fonction Python acrostiche(file_name)
qui lit un fichier texte de nom file_name
contenant un acrostiche et qui retourne le message caché dans le texte, en prenant la première lettre sur chaque ligne. Si une ligne ne commence pas par une lettre mais par un caractère blanc ou un autre caractère (comme ", ', ou un chiffre), on cherche le premier caractère sur cette ligne qui est une lettre. Les lignes vides ou ne contenant aucune lettre seront simplement ignorées. Si le fichier n'existe pas ou ne peut pas être lu, la fonction retourne -1
.
Pour un fichier file_name
contenant le poème ci-dessus, acrostiche(file_name)
retournera la chaîne de caractères "ELIZABETH".
Remarque:
- La méthode
str.isalpha()
vérifie si la chaînestr
est constituée uniquement de caractères alphabétiques.
La fonction demandée est la suivante:
def acrostiche(file_name): """ @pre: file_name est le nom d'un fichier de texte @post: Retourne une chaîne de caractères contenant la première lettre de chaque ligne dans le fichier de texte, pour les lignes qui contiennent au moins un caractère. Retourne -1 en cas d'erreur d'accès au fichier. """ # à compléter
Si nécessaire vous pouvez aussi définir des fonctions auxiliaires.