Add palindrome
This commit is contained in:
parent
34e56a30ae
commit
cd77f04cdd
2 changed files with 35 additions and 0 deletions
15
algorithmique/recursivite/palindrome.algo
Normal file
15
algorithmique/recursivite/palindrome.algo
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
Algorithme : Vérifie si un mot est palidrome
|
||||||
|
|
||||||
|
Début
|
||||||
|
Fonction EstPalindrome(Mot : str) : bool
|
||||||
|
Si Mot[0] != Mot[Longueur(Mot) - 1]
|
||||||
|
Retourner(Faux)
|
||||||
|
Sinon si Longueur(Mot) < 2 /* vrai pour 0 ou 1 lettre */
|
||||||
|
Retourner(Vrai)
|
||||||
|
Sinon
|
||||||
|
Mot.Effacer(0) /* efface la première lettre */
|
||||||
|
Mot.Effacer(Longueur(Mot) - 1) /* efface la dernière lettre */
|
||||||
|
Retourner(EstPalindrome(Mot))
|
||||||
|
FinSi
|
||||||
|
FinFonction
|
||||||
|
Fin
|
20
algorithmique/recursivite/palindrome.py
Normal file
20
algorithmique/recursivite/palindrome.py
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
"""Vérifie si un mot est palidrome"""
|
||||||
|
|
||||||
|
|
||||||
|
def main() -> None:
|
||||||
|
print(EstPalindrome("aziza"))
|
||||||
|
print(EstPalindrome("alga"))
|
||||||
|
|
||||||
|
def EstPalindrome(Mot : str) -> bool:
|
||||||
|
if Mot[0] != Mot[-1]:
|
||||||
|
return False
|
||||||
|
elif len(Mot) < 2: # vrai pour 0 ou 1 lettre
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return EstPalindrome(Mot[1:-1])
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
Loading…
Reference in a new issue