#!/usr/bin/env python """ Determine whether or not a string is the same forward and backwards. """ def reversible(line): """ Return true if line is reversible. """ print " debug: line = '%s'" % line if len(line)<=1: return True elif line[0] != line[-1]: return False else: return reversible(line[1:-1]) def clean(line): """ Return a 'cleaned' line: lowercase and a-z only.""" result = [] line = line.lower() for char in line: if ord('a') <= ord(char) <= ord('z'): result.append(char) return ''.join(result) def interactive(): running = True print "-- Is it reversible? --" print " Type 'quit' or '' to exit." while (running): line = raw_input(" Input a line of text: ") line = clean(line) if line == "" or line == "quit": running = False else: if reversible(line): print " Yup." else: print " Nope." interactive()