KittyWhale
KittyWhale

Reputation: 89

How to make string characters lower case and uppercase match in python

I wasn't sure what to title it, but I'm writing a function that checks if a phrase is a palindrome or not. If something is capitalized or not doesn't matter and if there are other characters it will remove them. If the string is the same forwards and backwards (that's what a palindrome is) then it will be a Boolean True, and a Boolean False if it isn't. For example:

is_palindrome('ta.cocat')
#It would return
True

is_palidrome('Tacocat')
#It would return
True

is_palindrome('tacodog')
#It would return
False

I've written code that will take out extra characters, but I can't figure out how to make it that capitalization doesn't matter.

#Strip non-alpha
def to_alphanum(str):
  return ''.join([char for char in str if char.isalnum()]) 

#Palindromes
def is_palindrome(str):
  str = to_alphanum(str)
  if(str==str[::-1]):
    return True
  else:
    return False
#Here's examples about what it returns
is_palindrome('taco.cat')
True

is_palindrome('Tacocat')
>>> False

Upvotes: 0

Views: 542

Answers (1)

Chikko
Chikko

Reputation: 81

just use the lower function on your input string, so that case doesnt matters in your function

str = to_alphanum(str).lower()

Upvotes: 2

Related Questions