prog:palindrome
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | |||
prog:palindrome [2020/03/17 15:35] – jbpuel | prog:palindrome [2020/04/06 09:03] (Version actuelle) – supprimée jbpuel | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== 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(" | ||
- | 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.replace(" | ||
- | phrase = phrase.replace(" | ||
- | phrase = phrase.replace(" | ||
- | return phrase | ||
- | |||
- | ph = input(" | ||
- | ph = nettoyage(ph) | ||
- | print (" | ||
- | i = 0 | ||
- | long = len(ph) | ||
- | |||
- | |||
- | # Méthode 1 : parcours classique de la chaîne | ||
- | while i< | ||
- | if (ph[i] == ph[long-1-i]): | ||
- | pal = True | ||
- | else: | ||
- | pal = False | ||
- | break | ||
- | i=i+1 | ||
- | | ||
- | if pal: | ||
- | print (" | ||
- | else: | ||
- | print ("Pas palindrome" | ||
- | |||
- | # Méthode 2 : parcours de la chaîne, notation plus python | ||
- | while i< | ||
- | if (ph[i] == ph[-1-i]): | ||
- | pal = True | ||
- | else: | ||
- | pal = False | ||
- | break | ||
- | i=i+1 | ||
- | | ||
- | if pal: | ||
- | print (" | ||
- | 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 (" | ||
- | 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: | ||
- | else: | ||
- | pal = False | ||
- | return pal | ||
- | |||
- | if palindrome(ph): | ||
- | print (" | ||
- | else: | ||
- | print ("Pas palindrome" | ||
- | </ |
prog/palindrome.1584459333.txt.gz · Dernière modification : 2020/03/17 15:35 de jbpuel