Outils pour utilisateurs

Outils du site


prog:python:palindrome

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
prog:python:palindrome [2020/04/06 09:15] jbpuelprog:python:palindrome [2020/04/16 13:35] (Version actuelle) jbpuel
Ligne 1: Ligne 1:
 ====== Variations autour du palindrome ====== ====== Variations autour du palindrome ======
  
-{{ :prog:python:palindrome.py |Fichier}}+Télécharger le fichier : {{ :prog:python:palindrome.py |}}
  
-<code python>+Déterminer si une phrase fournie par l'utilisateur est un palindrome, en 4 variantes.
  
 +  * parcours classique de la chaîne, tel qu'on l'écrirait en C par exemple
 +  * parcours de la chaîne mais la notation des indices est plus spécifique à python
 +  * utiliser les fonction sur les chaînes de caractères de Python : comparaison de la chaîne et de son miroir
 +  * fonction récursive
 +
 +<WRAP centeralign>
 +== Voir le programme ==
 +
 +<code python>
 """ """
  
Ligne 41: Ligne 50:
     phrase = phrase.replace("ç", "c")     phrase = phrase.replace("ç", "c")
     return phrase     return phrase
 +
  
 ph = input("Phrase : ") ph = input("Phrase : ")
 ph = nettoyage(ph) ph = nettoyage(ph)
-print ("Phrase nettoyée :",ph)+print("Phrase nettoyée :", ph)
 i = 0 i = 0
 long = len(ph) long = len(ph)
Ligne 50: Ligne 60:
  
 # Méthode 1 : parcours classique de la chaîne # Méthode 1 : parcours classique de la chaîne
-while i<long/2:+while i < long/2:
     if (ph[i] == ph[long-1-i]):     if (ph[i] == ph[long-1-i]):
         pal = True         pal = True
Ligne 56: Ligne 66:
         pal = False         pal = False
         break         break
-    i=i+1 +    i = i+1 
-    +
 if pal: if pal:
-    print ("Palindrome")+    print("Palindrome")
 else: else:
-    print ("Pas palindrome")+    print("Pas palindrome")
  
 # Méthode 2 : parcours de la chaîne, notation plus python # Méthode 2 : parcours de la chaîne, notation plus python
-while i<long/2:+while i < long/2:
     if (ph[i] == ph[-1-i]):     if (ph[i] == ph[-1-i]):
         pal = True         pal = True
Ligne 70: Ligne 80:
         pal = False         pal = False
         break         break
-    i=i+1 +    i = i+1 
-    +
 if pal: if pal:
-    print ("Palindrome")+    print("Palindrome")
 else: else:
-    print ("Pas palindrome")+    print("Pas palindrome")
  
 # Méthode 3 : comparaison de la chaîne et de son miroir, encore plus python # Méthode 3 : comparaison de la chaîne et de son miroir, encore plus python
 ph2 = ph[::-1] ph2 = ph[::-1]
 if ph2 == ph: if ph2 == ph:
-    print ("Palindrome")+    print("Palindrome")
 else: else:
-    print ("Pas palindrome"+    print("Pas palindrome"
-    + 
 # Méthode 4 : fonction récursive # Méthode 4 : fonction récursive
-def palindrome (phrase):+def palindrome(phrase):
     if phrase[0] == phrase[-1]:     if phrase[0] == phrase[-1]:
         pal = True         pal = True
         if len(phrase) > 2:         if len(phrase) > 2:
-            pal = palindrome (phrase[1:-1])+            pal = palindrome(phrase[1:-1])
     else:     else:
         pal = False         pal = False
     return pal     return pal
 +
  
 if palindrome(ph): if palindrome(ph):
-    print ("Palindrome")+    print("Palindrome")
 else: else:
-    print ("Pas palindrome")+    print("Pas palindrome") 
 +    
 </code> </code>
 +</WRAP>
prog/python/palindrome.1586164553.txt.gz · Dernière modification : 2020/04/06 09:15 de jbpuel