import random def string_checker(question, valid_ans): while True: error = f"Enter a valid option from {valid_ans}" user_response = input(question).lower() for item in valid_ans: # check if the user response is a valid answer if item == user_response: return item elif user_response == item[0]: return item def int_check(question): while True: error = "Enter an integer more than 1" try: response = int(input(question)) # check the number is more than 1 if response >= 1: return response else: print(error) except ValueError: print(error) question_answer = 0 wrong_answers = 0 correct_answers = 0 question_answer = 0 game_history = [] num_rounds = int_check("Enter the number of rounds. You can choose between 3 to 5 rounds ") while question_answer < num_rounds: rounds_heading = f"\n*** Round {question_answer + 1} of {num_rounds} ***" print(rounds_heading) random_1 = random.randint(1, 12) random_2 = random.randint(5, 15) correct_answer = random_1 * random_2 error = "please enter a valid answer" # main function while True: try: question_answer = int(input(f" {random_1} x {random_2} = ")) if question_answer == correct_answer: print("correct") else: print(f"incorrect and the correct answer is {correct_answer}") except ValueError: print(error) question_answer += 1 if question_answer > 0: # Calculate stats correct_answers = question_answer - wrong_answers percentage_won = correct_answers / question_answer * 100 percentage_lost = wrong_answers / question_answer * 100 # Display Game Stats print() print("**** GAME STATS ****") print(f"You got {correct_answers} correct out of {question_answer} rounds") print(f"Won: {percentage_won:.2f} % \t" f"Lost: {percentage_lost:.2f} % \t") print() # Game history option see_history = string_checker("Do you want to see your game history? ", yes_no) if see_history == "yes": for item in game_history: print(item) else: print("😾😾😾 Scaredy Cat! 😾😾😾") # End of program message print() print("The program has ended")