Een palindroom is een woord dat van links naar rechts hetzelfde is als van rechts naar links. Bijvoorbeeld: kok, lepel en meetsysteem zijn palindromen. Voor deze oefening gaan we op zoek naar palindromen in getallen in plaats van in tekst.
We definiëren voor deze oefening een palindroomgetal als een getal dat voldoet aan alle onderstaande voorwaarden:
is_palindroomgetal
Schrijf een functie is_palindroomgetal(n) die controleert of het gegeven getal n een palindroomgetal is volgens de bovenstaande definitie.
De functie heeft één argument: het getal n (int) dat gecontroleerd moet worden.
De functie moet True retourneren als n een palindroomgetal is, en False als dat niet het geval is.
>>> is_palindroomgetal(123) False >>> is_palindroomgetal(12321) True
vind_palindroomgetallen
Schrijf een functie vind_palindroomgetallen(getal) die één positief geheel getal als argument neemt en alle palindroomgetallen (volgens bovenstaande definitie) die in dit getal voorkomen, retourneert.
De functie moet een lijst retourneren waarin alle palindroomgetallen die voorkomen in het getal in de volgorde van voorkomen zijn opgenomen. Als er geen palindroomgetal gevonden is, dan retourneert de functie een lege lijst.
Daarbij volgen we volgende spelregels:
>>> vind_palindroomgetallen(51232120) [123212, 232, 212]
>>> vind_palindroomgetallen(5393118313811705148606556062280931139068993333975899329292392) [393, 118313811, 1831381, 83138, 313, 606, 60655606, 6556, 931139, 3113, 933339, 932929239, 3292923, 292, 29292, 929]
>>> vind_palindroomgetallen(5671) []