Advertisement
MasterOrange

Palindrome Test

Feb 1st, 2016
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.64 KB | None | 0 0
  1. def isPalindrome(s):
  2.     for i in range(len(s)//2):
  3.         if s[i] != s[-i-1]: return False
  4.     return True
  5.  
  6. def onlyLetters(s):
  7.     b=s.translate(str.maketrans(dict.fromkeys(' .,?!"', None))).lower()
  8.     return b
  9.  
  10. def isPalindromePlus(s):
  11.     return isPalindrome(onlyLetters(s))
  12.  
  13. def isPalindromeEx(s):
  14.     b=s.translate(str.maketrans(dict.fromkeys(' .,-?!":;', None))).lower()
  15.     #makes table that maps punctuation to nothing, replace table in string
  16.     #(cont'd) remove all spaces, make all letters lowercase
  17.     return True if len(b)== 0 else True if len(b) == 1 \
  18.     else False if b[0]!=b[-1] else isPalindromeEx(b[1:-1])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement