Ressources du Congo

#TutorielPython3 : Apprendre à coder en Python #43 : Jeux de lettres et de mots #1. Élément de réponse #2

13 Octobre 2019 , Rédigé par Zamba Synkin Publié dans #Dico exquis anti-mystification, #Tech' Net & Code, #e-Learning

undefined

 

 

 

 

Prérequis :  Tous les tutoriels précédents

 

Pour rappel, il nous a été demandé ce qui suit :

 

 Jeux de lettres et de mots #1

2. Écrire un script qui demande à l'utilisateur de saisir un mot (ou un prénom) et le lui retourne en y insérant un astérisque entre 2 caractères.

  • Si l'utilisateur saisit le mot tel, il se verra renvoyer : H*ô*t*e*l

Je vous propose de passer de ce pas au script que voici:

Jeux de lettres et de mots #2
Jeux de lettres et de mots #2

Quand je saisis le mot Hôtel, la Console Python me renvoie ceci :

Jeux de lettres et de mots #2
Jeux de lettres et de mots #2

C'est bien le résultat escompté. À noter que ce script ne requiert pas des remarques particulières si ce n'est qu'il faut veiller à ce que les concaténations se fassent dans le bon ordre: de gauche à droite (cf. les lignes 14, 16 et 18).

Amélioration du script pour gérer le cas des saisies d'une phrase

3. On vous demande maintenant d'améliorer le script de sorte que si l'utilisateur saisit une phrase, il se verra renvoyer la même phrase dotée d'un astérisque entre 2 caractères différents d'espace.

  • Exemple: Si l'utilisateur saisit, par exemple la phrase, Hôtel de ville, la Console Python lui renverra :​​​​​​  H*ô*t*e*l  d*e  v*i*l*l*e     

Le script actuel n'est pas adapté aux phrases. À preuve :  quand je saisis la phrase Hôtel de ville,

Jeux de lettres et de mots #3
Jeux de lettres et de mots #3

la Console Python douche mon plaisir! 

Jeux de lettres et de mots #2
Jeux de lettres et de mots #2

En effet, je ne souhaitais pas du tout avoir des * entres les espaces séparant deux mots, il nous faut donc corriger le script de sorte que les * n'y apparaissent qu'entre deux lettres consécutives différentes d'espace. Pour rappel, le résultat attendu est : H*ô*t*e*l  d*e  v*i*l*l*e.

 

Après correction, le script devient:

Jeux de lettres et de mots #2
Jeux de lettres et de mots #2

 

Et maintenant quand je saisis la phrase de Hôtel de ville,

Jeux de lettres et de mots #2
Jeux de lettres et de mots #2

la Console Python me renvoie ceci :

Jeux de lettres et de mots #2
Jeux de lettres et de mots #2

Cette fois-ci, nous avons bien le résultat attendu. Il convient de noter que pour parvenir à ce résultat, eh bien, j'ai fait appel à la méthode replace. En voici la syntaxe: replace(ancien string, nouveau string). Ici, l'ancien string est le couple (* et un espace) "*  " remplacé par un espace " ".

 

Lire la suite :  Scripts divers en Python

 

Partager cet article

Commenter cet article