#!/usr/bin/python import random print "Welcome to the randome number guesser app v2" mainloop = True while (mainloop): minmaxNotSet = True while minmaxNotSet: try: print "Please enter the minimum value" min = int(raw_input()) print "Please enter the maximum value" max = int(raw_input()) minmaxNotSet = False except ValueError: print "You need to enter an integer" ran = random.randint(min, max) guess = min - 1 i = 0 while ((i < 20) & (guess != ran)): print "\nEnter your guess between %s and %s, or question ('?' for help)" % (min, max) input = raw_input("You have %s guesses left: " % (20 - i)) try: guess = int(input) except ValueError: if (input == 'q'): exit(0) elif (input == '?'): print "To guess, simply enter an integer" print "Enter '>' followed by an int to check if its greater than and '<' for less than" print "Enter 'q' to quit, and ? for this help message" i = i - 1 # as this isnt realy a question elif (input.startswith('<')): try: number = int(input.strip('<')) if (ran <= number): max = number print "My number is less than %s" % number else: min = number print "My number is not less than %s" % number except ValueError: print "Incorrect Syntax, type '?' for help" i = i - 1 elif (input.startswith('>')): try: number = int(input.strip('>')) if (ran >= number): min = number print "My number is greater than %s" % number else: max = number print "My number is not greater than %s" % number except ValueError: print "Incorrect Syntax, type '?' for help" i = i + 1 if guess == ran: if (i < 3): print "Wow, you can read minds!" else: print "Congratulations, thats it!" else: print "Better luck next time!" if (raw_input("Play again? (y/N)") != 'y'): mainloop = False