Issue with cast the user input to an integer

How to ask the user to input some specific integers? If I want to start with num = int(input("Enter a number here: ")) and the required numbers are integers from 1 to 5, when the user input anything else than 1, 2, 3, 4, and 5, the program will print “Incorrect value!” and repeat the prompt to ask the user to input a number until 1, 2, 3, 4 or 5 are entered, how should I achieve this?

The usual approach is to make an int from the input string as you’re
already doing, and then to compare that against the values you require
using a if-statement.

You could even be clever about it: most Python functions raise a
ValueError when handed an invalid value, as I imainge you’ve seen with
int(intput(…)).

So you could catch an exception:

number_entry = input("Enter a number: ")
try:
    number = int(number_entry)
    if test-for-invalid-number-here:
        raise ValueError("invalid number %d, should be in the range 1 through 5" % number)
except ValueError as e:
    print("bad input:", e)
else:
    do stuff with number here ...

Cheers,
Cameron Simpson cs@cskk.id.au