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