# 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 math quiz that contains basic arithmetic questions. Although you may choose to include area questions if you wish to. Each arithmetic question will use two random numbers and a random operator (+, -, * or /). For area questions it will either be for a square or rectangle. The lengths and width will be shown for rectangles, squares will show one side with a number Your goal is to answer each question correctly. How it works: • Choose how many questions you want to answer • You may choose if you want to include area questions or not. • 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. • If you entered an incorrect answer, the correct answer will be shown. • Your total score will be shown at the end if you wish to see them. Rules: • Arithmetic numbers are between 2 and 12. • Area numbers are between 2 and 24. • If area questions are included there will be a 50% chance for an area question to appear each round. • For area questions you do not need to include units. • 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")