print """This program will try to determine a number you have randomly chosen from 1 to 100 through binary search.
Please use 'y' for Yes, 'h' for Higher and 'l' for Lower."""
def query(lb, ub, turns_taken):
guess = (int) (lb+ub) / 2
q = raw_input("Is your number %d? " % guess)
if q == 'y':
use_plural = "" if turns_taken == 1 else "s"
print "Yeah, got it in %d turn%s!" % (turns_taken, use_plural)
elif q == 'h':
query(guess, ub, turns_taken + 1)
elif q == 'l':
query(lb, guess, turns_taken + 1)
else: #Invalid answer
raise ValueError("Please enter 'y' for Yes, 'h' for Higher and 'l' for Lower.")
query(1, 100, 1)