I had never programmed python before but wanted to see an implementation done with nested loops, just because of belief that I/O and calculations should be kept separated, although you seem to have combined them with finesse. Anyway, consider this an example of an alternative approach. It works OK with Python 2.6.6 on CentOS 6.5 Linux.
Code:
msg1 = 'Please think of a number between 0 and 100!'
msg2 = 'Is your secret number'
msg3 = 'Enter "h" to indicate the guess is too high. Enter "l" to indicate the guess is too low. Enter "c" to indicate I guessed correctly. '
msg4 = 'Sorry, I did not understand your input.'
msg5 = 'Game over. Your secret number was:'
mini = 0
maxi = 100
print msg1
while (1) :
guess = (mini+maxi)/2
while (1) :
print msg2,"%d?" % guess
choice = raw_input(msg3)
if choice == 'l' or choice == 'h' or choice == 'c' :
break
else:
print msg4
if choice == 'l' :
mini = guess
elif choice == 'h' :
maxi = guess
else :
print msg5, "%d" % guess
break