# Check that users have entered a valid # option based on a list def string_checker(question, valid_ans=("yes", "no")): error = f"Please enter a valid option from the following list: {valid_ans}" while True: # Get user response and make sure it's lowercase user_response = input(question).lower() for item in valid_ans: # check if the user response is a word in the list if item == user_response: return item # check if the user response is a word in the list # the first letter of an item in the list elif user_response == item[0]: return item # print error if user does not enter something that is valid print(error) print() # Displays instructions def instructions(): print(""" *** Instructions *** This is a basic arithmetic quiz. Each question will use two random numbers and a random operator (+, -, * or /). Your goal is to answer each question correctly. How it works: • Choose how many questions you want to answer • For each round, a new maths question will appear. • Type your answer and press . • The quiz will tell you if you are correct or incorrect. • Your score will be shown at the end. Rules: • All numbers are between 2 and 12. • Division questions may produce decimal answers. • If an answer contains decimals it will be rounded to 1 dp. • You can exit the quiz at any time by typing 'xxx'. Good luck! """) # Main routine # ask the user if they want to see instructions and display # them if requested want_instructions = string_checker("Do you want to see instructions? ") # Display the instructions if the user wants to see them... if want_instructions == "yes": instructions() print() print("program continues")