Exercise 08-13.a:

Write a function that receives a string with the valid options to accept (each option is a letter). Convert valid options to lowercase letters. Use input to read an option, convert the value to lowercase letters, and verify that the option is valid. In the case of an invalid option, the function must ask the user to re-enter another option.

Answer:

##############################################################################
# Python From Scratch
# Author: Nilo Ney Coutinho Menezes
# Editora Novatec (c) 2010-2025 - LogiKraft 2025
# Site: https://pythonfromscratch.com
# ISBN: 978-85-7522-949-1 (Paperback), 978-85-7522-950-7 (hardcover), 978-85-7522-951-4 (ebook)
#
# File: chapter 08/exercise-08-13.a.py.py
##############################################################################
def validate_input(message, valid_options):
    options = valid_options.lower()
    while True:
        choice = input(message)
        if choice.lower() in options:
            break
        print("Error: invalid option. Please try again.\n")
    return choice


# Example: print(validate_input("Choose an option:", "abcde"))
#
# Extra question: what happens if the user types more than one option?
# For example, ab.
Click here to download the file