Middle
Úkol: Palindrom Napište funkci is_palindrome(s: str) -> bool, která ověří, zda je řetězec palindrom (čte se stejně zleva doprava i zprava doleva). Při tom je třeba ignorovat mezery, interpunkci a velikost písmen. Příklady: - is_palindrome("racecar") → True - is_palindrome("A man, a plan, a canal: Panama") → True - is_palindrome("race a car") → False
sobes.tech AI
Odpověď od AI
def is_palindrome(s: str) -> bool: import re # Odstraňte vše kromě písmen a číslic a převádějte na malá písmena cleaned = re.sub(r'[^a-zA-Z0-9]', '', s).lower() # Zkontrolujte, zda je řetězec a jeho reverz shodný return cleaned == cleaned[::-1]
Příklady:
print(is_palindrome("racecar")) # True print(is_palindrome("A man, a plan, a canal: Panama")) # True print(is_palindrome("race a car")) # False