def string_checker(question, valid_ans): 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 the same as # 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 instruction(): print(''' **** Instructions **** To begin, choose the number of rounds (or press for infinite mode). Then play against the computer. You need to enter R (rock) or P (paper) or S (scissors). The rules bla bla blah ''') # Main Program rps_list = ["rock", "paper", "scissors", "xxx"] yes_no = ["yes", "no"] want_instructions = string_checker("Do you want to see the instructions? ", yes_no) if want_instructions == "yes": instruction() # Choose the number of rounds # User chooses the number of PSR user_choice = string_checker("choose:", rps_list) print("You chose: ", user_choice)