Skip to content

Instantly share code, notes, and snippets.

@bryanwoods
Last active February 24, 2016 22:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bryanwoods/2a6dcda9a21a0c376904 to your computer and use it in GitHub Desktop.
Save bryanwoods/2a6dcda9a21a0c376904 to your computer and use it in GitHub Desktop.
import string
import nltk.data
def reverse(sentence):
return sentence[::-1]
def stripped(sentence):
return "".join(sentence.split())
def scrubbed(sentence):
return sentence.lower().translate(None, string.punctuation)
def is_palindrome(sentence):
stripped_string = stripped(scrubbed(sentence))
return stripped_string == reverse(stripped_string)
def text():
return open("moby_dick.txt").read()
def sentences(text):
sentence_detector = nltk.data.load('tokenizers/punkt/english.pickle')
return sentence_detector.tokenize(text.strip())
def palindromes(sentences):
return filter(is_palindrome, sentences)
def main():
print palindromes(sentences(text()))
if __name__ == '__main__':
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment