Ressources du Congo

#TutorielPython3 : Apprendre à coder en Python #40 : Palindrome #2 - Élément de réponse #2

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

Palindrome #2
Palindrome #2

 

 

 

Puisque j'ai rappelé le fait que Python était sensible à la casse. Il nous faut en tenir compte pour éviter de tomber à pieds joints dans le piège identifié dans le précédent billet. J'ai repris le même script (Palindrome #1) à ceci près que j'ai changé la ligne 9, en y insérant la méthode lower (qui transforme le mot saisi par l'utilisateur en minuscule. À noter que j'aurais pu choisir la méthode upper pour tout transformer en majuscule).

Ce faisant, le script devient :

Palindrome #2
Palindrome #2

Et quand je saisis à nouveau le mot Kayak, 

undefined

 

 

 

 

 

Cette fois-ci, la Console Python me renvoie le résultat attendu.

Et voilà, le tour est presque joué ! Pourquoi presque joué ?

Pour la simple et bonne raison que si l'utilisateur est malin, au lieu de saisir par exemple ressasser, il peut s'amuser à saisir d'abord un espace ou plusieurs espaces puis ressasser (ou ressasser suivi d'un ou plusieurs espaces) auquel cas la Console Python vous renverra un résultat déroutant !

À preuve, quand je saisis par exemple le mot Laval (qui est un palindrome) suivi d'un espace (ou plusieurs espaces),

 

 

 

 

 

La Console Python me renvoie :

Palindrome #2
Palindrome #2

D'où cette question : comment éviter ce type de problème ?

Eh bien, cela vient avec de l'expérience grâce à laquelle nous arriverons à anticiper ce que l'utilisateur peut être amené à saisir. Et donc à coder efficacement de sorte à minimiser les mauvaises surprises. Autrement dit, quand vous codez, prévoyez le maximum de scénarios possibles. À noter que nous verrons dans Problème ouvert #2 : Phrase palindrome comment contourner ce type d'écueil.

Lire la suite :  Scripts divers en Python. Palindrome #3

Partager cet article

Commenter cet article