def get_int_input(min: int, max: int, msg: str) -> int:
    """
    Makes a user select an integer between min & max stated values
    :param  min: the minimum acceptable integer value
    :param  max: the maximum acceptable integer value
    :param  msg: the message to display on the input line
    :return user_input: sanitised integer input in acceptable range
    """
    while True:
        try:
            user_input = int(input(f"{msg} (range {min} - {max}): "))
            if user_input not in range(min, max + 1):
                raise ValueError
            break
        except ValueError:
            print(
                "The value entered is not an integer in the acceptable"
                " range, please enter a different value!"
            )
            continue

    return user_input