W3docs

Asking the user for input until they give a valid response

To ask the user for input and repeat the prompt until they give a valid response, you can use a while loop and use a try-except block to catch any errors that may occur when trying to convert the user input to the desired data type.

To ask the user for input and repeat the prompt until they give a valid response, you can use a while loop and use a try-except block to catch any errors that may occur when trying to convert the user input to the desired data type.

Here's an example of how you could use a while loop to ask the user for a number and repeat the prompt until they give a valid response:

Asking the user for input until they give a valid response in Python

while True:
    try:
        # Ask the user for a number
        n = int(input('Enter a number: '))
        # If the input is valid, break out of the loop
        break
    except ValueError:
        # If the input is not valid, print an error message and continue the loop
        print('Invalid input. Please try again.')

This will keep asking the user for a number and trying to convert their input to an integer until they give a valid response. If the user's input is not a valid number, the ValueError exception will be raised and the loop will continue, printing an error message and asking the user for input again. If the user's input is a valid number, the loop will break and the input will be stored in the n variable.

You can modify this code to ask the user for other types of input, such as a string or a float, by using the appropriate conversion function (e.g., float(input()) or str(input())) and handling the appropriate exception (e.g., ValueError for a float or TypeError for a string).