Thank you to anyone who has already donated - your generous donations helped make three months of treatment possible.

My brother Nate continues to fight stage IV Hodgkin's lymphoma. He's just 31, with a wife and baby girl. They have no active income (since he's been unable to return to work), no insurance, and cannot afford the treatment he needs. Nate and his family need your help. Please consider a donation, every dollar helps. Thanks.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# Asks the user if we found the number or if we have to guess again
def evaluate(number):
	
	print "Is your number %d? (Yes: 'Y', Higher: 'H', Lower: 'L')" % number
	
	valid_answers = 'Y', 'H', 'L'
	
	while True:	
		answer = raw_input("> ")
		
		if answer.upper() in valid_answers:
			return answer.upper()
		else:
			print "Invalid input, try again..."

# Explain the situation
print """Hello, pick a number so we can play a game of me trying to guess it.
Don't you dare cheating pal, I'll cut you! Now let's play!
When you are ready press ENTER
"""
raw_input()

# Set the bounds of the guess
max_number = max_guess = 100
min_number = min_guess = 1

# Counters
tries = 0
wins = 0

while True:
	
	# Calculate the computer's guess
	# We try to guess in the middle of our current guess-range
	guess = (min_guess + max_guess) / 2
	tries += 1
	
	# Check the guess with the player
	result = evaluate(guess);
	
	# Did we get it?
	if result == 'Y':
		
		# Boast a little about our small success and ask for another round
		print """
		Hurray, I rule! I had to try %d times.
		So far I have won %d games.
		Wanna play again? (Y/N)
		""" % (tries, wins)
		wins += 1
		
		play_again = raw_input("> ")
		
		
		# If we are to play again we must initialize some stuff
		if play_again.upper() == 'Y':
			max_guess = 100
			min_guess = 1
			tries = 0
		# Otherwise, we just break out of the loop
		else:
			break
			
	elif result == 'H':
		# Got to guess higher than what we did
		min_guess = guess
	else:
		# Got to guess lower than what we did
		max_guess = guess