mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-12-18 01:00:15 +00:00
b8b63469ef
* My favorite palindrome * updating DIRECTORY.md * Update is_palindrome.py * Update is_palindrome.py * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update strings/is_palindrome.py Co-authored-by: Caeden Perelli-Harris <caedenperelliharris@gmail.com> * Update is_palindrome.py Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Caeden Perelli-Harris <caedenperelliharris@gmail.com>
28 lines
834 B
Python
28 lines
834 B
Python
def is_palindrome(s: str) -> bool:
|
|
"""
|
|
Determine if the string s is a palindrome.
|
|
|
|
>>> is_palindrome("A man, A plan, A canal -- Panama!")
|
|
True
|
|
>>> is_palindrome("Hello")
|
|
False
|
|
>>> is_palindrome("Able was I ere I saw Elba")
|
|
True
|
|
>>> is_palindrome("racecar")
|
|
True
|
|
>>> is_palindrome("Mr. Owl ate my metal worm?")
|
|
True
|
|
"""
|
|
# Since punctuation, capitalization, and spaces are often ignored while checking
|
|
# palindromes, we first remove them from our string.
|
|
s = "".join(character for character in s.lower() if character.isalnum())
|
|
return s == s[::-1]
|
|
|
|
|
|
if __name__ == "__main__":
|
|
s = input("Please enter a string to see if it is a palindrome: ")
|
|
if is_palindrome(s):
|
|
print(f"'{s}' is a palindrome.")
|
|
else:
|
|
print(f"'{s}' is not a palindrome.")
|