input: Write a function to check if a given string is a palindrome. A palindrome is a word, phrase, number, or other sequences of characters that reads the same forward and backward, ignoring spaces, punctuation, and letter casing. The function should return True if the string is a palindrome and False otherwise. If the string is empty, the function should return True.
  
  ### Function:
  def is_palindrome(s):
      '''This function returns True if the string s is a palindrome and False if it isn't.'''
      s = s.lower()
      s = ''.join(e for e in s if e.isalnum())
      return s == s[::-1]
  
  ### Assertions:
  assert is_palindrome("A man, a plan, a canal, Panama") == True
  assert is_palindrome("racecar") == True
  assert is_palindrome("hello") == False
  assert is_palindrome("No lemon, no melon") == True
  assert is_palindrome("") == True
output: def is_palindrome(s):
      s = s.lower()
      s = ''.join(e for e in s if e.isalnum())
      return s == s[::-1]