I'm trying to create a small code that asks a user to enter a number between 1 and 100. However my Else statement will not output when entering a string. I want my Else statement to print a message if the user enters an input other than an integer or float. Here is my code.
def between():
    print ("Please enter a number between 1 and 100.")
    number = eval(input())
    if number >= 1 and number <= 100:
        print ("Thank you! You entered",number,"which is within the 1 and 100 range.")
        between()
    elif number > 100 or number < 1: 
        print ("OOPS! You entered",number,"Please enter a number between 1 and 100.")
        between()
    else: 
        print ("ERROR! You have entered an invalid value. Please try again using numerical values only.")
        between()
between()
 
     
     
     
     
     
    