# This program runs a test of knowledge #First get the questions #Later this will be modified to use file io def get_questions(): #Notice how the data is stored in a list of lists return [["What color is the daytime sky on a clear day? ", "blue"], ["What i the answer to life, the universe, and everything? ", "42"], ["What is a three letter word for mouse trap? ", "cat"]] #This will test a single question #it takes a single question in #it returns True if the user typed the correct answer, otherwise False def check_question(question_and_answer): #extract the question and the answer from the list #This function takes a list with two elements, a question and an answer question = question_and_answer answer = question_and_answer #give the question to the user given_answer = input(question) #compare the user's answer to the testers answer if answer == given_answer: print("Correct") return True else: print("Incorrect, correct was: ", answer) return False #This will run through all the questions def run_test(questions): if len(questions) == 0: print("No questions were given.") #The return exits the fuction return index = 0 right = 0 while index < len(questions): #Check the question #Note that this is extracting a question and answer list from the lists of lists if check_question(questions[index]): right = right + 1 #Go to the next question index = index + 1 #Notice the order of the computation, first multiply, then divide print("You got", right * 100 / len(questions, \ "% right out of", len(questions)) #now let's get the questions from the get_questions function, and send the returned list #of lists as an argument to the run_test function run_test(get_questions())
Hello again, I'm sorry for asking so many stupid questions but in this program I keep getting a syntax error right at the end (run_test(get_questions())). Does anyone know why this is?