Outils pour utilisateurs

Outils du site


prog:palindrome

Ceci est une ancienne révision du document !


Variations autour du palindrome

<code python>

“”“

Variations autour du palindrome JBP - 03/2019

”“”

def nettoyage(phrase):

  # Fonction de nettoyage d'une chaîne de caractères :
  # Supprime les caractères inutiles, passe en minuscules
  # Remplace les caractères accentués par le caractère correspondant
  phrase = phrase.replace(" ", "")
  phrase = phrase.replace("'", "")
  phrase = phrase.replace(",", "")
  phrase = phrase.replace(";", "")
  phrase = phrase.replace(":", "")
  phrase = phrase.replace("!", "")
  phrase = phrase.replace("?", "")
  phrase = phrase.replace(".", "")
  phrase = phrase.replace("-", "")
  phrase = phrase.lower()
  phrase = phrase.replace("é", "e")
  phrase = phrase.replace("è", "e")
  phrase = phrase.replace("ê", "e")
  phrase = phrase.replace("ë", "e")
  phrase = phrase.replace("à", "a")
  phrase = phrase.replace("â", "a")
  phrase = phrase.replace("î", "i")
  phrase = phrase.replace("ï", "i")
  phrase = phrase.replace("ô", "o")
  phrase = phrase.replace("ù", "u")
  phrase = phrase.replace("û", "u")
  phrase = phrase.replace("ü", "u")
  phrase = phrase.replace("ç", "c")
  return phrase

ph = input(“Phrase : ”) ph = nettoyage(ph) print (“Phrase nettoyée :”,ph) i = 0 long = len(ph)

# Méthode 1 : parcours classique de la chaîne while i<long/2:

  if (ph[i] == ph[long-1-i]):
      pal = True
  else:
      pal = False
      break
  i=i+1
  

if pal:

  print ("Palindrome")

else:

  print ("Pas palindrome")

# Méthode 2 : parcours de la chaîne, notation plus python while i<long/2:

  if (ph[i] == ph[-1-i]):
      pal = True
  else:
      pal = False
      break
  i=i+1
  

if pal:

  print ("Palindrome")

else:

  print ("Pas palindrome")

# Méthode 3 : comparaison de la chaîne et de son miroir, encore plus python ph2 = ph[::-1] if ph2 == ph:

  print ("Palindrome")

else:

  print ("Pas palindrome")
  

# Méthode 4 : fonction récursive def palindrome (phrase):

  if phrase[0] == phrase[-1]:
      pal = True
      if len(phrase) > 2:
          pal = palindrome (phrase[1:-1])
  else:
      pal = False
  return pal

if palindrome(ph):

  print ("Palindrome")

else:

  print ("Pas palindrome")

<code>

prog/palindrome.1584459025.txt.gz · Dernière modification : de jbpuel