I'm writing a program that is a guessing game where the user has one chance to guess a number between 1 and 20.
There are two problems with the code:
Number one is still the input validation.  The firstGuess variable is actually in main().
firstGuess = userguess()    
def userGuess():
    while True:
        try:
            guess = int(input('Enter a number between 1 and 20: '))
            if 1 <= guess >= 20:
                return guess
        except ValueError:
            print (guess, 'is not a valid guess!')
        break
What I'm trying to do is put the input validation in a loop (while True:) until the user gives good input (in this case a positive number between 1 and 20). If the user were to enter 'd', or '-5', the program should continue looping until good input is given. However, this is not the case. By adjusting the code, I have been able to ask for the input again once bad input is entered, but if bad input is given a third time I get "another exception occured while handling this exception."
*Removed other problem, @Henry Woody was correct in that I wasn't using the conditionals correctly.
 
    