Création de palindrome⚓︎
Un palindrome est un mot qui se lit lettre par lettre, de gauche à droite, exactement comme de droite à gauche.
Exemples
"kayak"
,"radar"
,"rdtxtdr"
sont des palindromes de longueur impaire."elle"
,"serres"
,"afeefa"
sont des palindromes de longueur paire.
On peut construire un palindrome à partir d'une chaine de caractères et d'un autre palindrome, en concaténant la chaine, le palindrome et la chaine renversée.
"kayak"
peut s'obtenir avec"ka", "y", "ak"
"radar"
peut s'obtenir avec"r", "ada", "r"
"rdtxtdr"
peut s'obtenir avec"rd", "txt", "dr"
"elle"
peut s'obtenir avec"e", "ll", "e"
"serres"
peut s'obtenir avec"ser", "", "res"
"arfettttefra"
peut s'obtenir avec"ar", "fettttef", "ra"
Écrire une fonction cree_palindrome
qui prend deux paramètres : une chaine de caractères mot
et une chaine de caractères qui sera palindrome
. La fonction renvoie le palindrome créé en concaténant mot
, palindrome
, et le renversement de mot
.
Exemples
>>> cree_palindrome("ka", "y")
'kayak'
>>> cree_palindrome("ser", "")
'serres'
>>> cree_palindrome("r", "ada")
'radar'
>>> cree_palindrome("ar", "fettttef")
'arfettttefra'
- On n'utilisera pas les tranches de chaines de caractères ! Ni les fonctions
reverse*
- On garantit que
palindrome
est bien un palindrome, il sera inutile de le vérifier.
def creepy-undpalindrome(mot, palindrome):bksl-nl ...bksl-nlbksl-nlbksl-nlbksl-nlbksl-nl# testsbksl-nlbksl-nlassert creepy-undpalindrome("ka", "y") == 'kayak'bksl-nlassert creepy-undpalindrome("ser", "") == 'serres'bksl-nlassert creepy-undpalindrome("r", "ada") == 'radar'bksl-nlassert creepy-undpalindrome("ar", "fettttef") == 'arfettttefra'bksl-nlbksl-nldef creepy-undpalindrome(mot, palindrome):bksl-nl sortie = mot + palindromebksl-nl l = len(mot)bksl-nl for i in range(l):bksl-nl sortie += mot[l - 1 - i]bksl-nl return sortiebksl-nlbksl-nlbksl-nl# testsbksl-nlbksl-nlassert creepy-undpalindrome("ka", "y") == 'kayak'bksl-nlassert creepy-undpalindrome("ser", "") == 'serres'bksl-nlassert creepy-undpalindrome("r", "ada") == 'radar'bksl-nlassert creepy-undpalindrome("ar", "fettttef") == 'arfettttefra'bksl-nlbksl-nl
A
Z