```import random,math class Question: """ Question class for creating a question for use in a quiz """ def ft(self,text,randints,randdec,randsgnint): return text.format(randints,randdec,randsgnint) def __init__(self, question, answer): self.text = question self.answer = answer self.tolerance = 0.01 self.randints = [] self.randdec = [] self.randsgnint = [] for a in range(1,11): #Creates three arrays of whole numbers, random decimals, and random signed integers for use in questions. self.randints.append(random.randint(1,10)) self.randdec.append(math.sqrt(random.randint(1,100))*random.randint(1,10)) self.randsgnint.append(random.randint(-10,10)) self.text = self.ft(question,self.randints,self.randdec,self.randsgnint) #The function replaces all symbols in the question with the correct number types self.answer = eval(self.ft(answer,self.randints,self.randdec,self.randsgnint)) #This stores the numerical answer based on the string provided with the answer. def checkans(self,answer): if (abs(float(answer) - self.answer)<=self.tolerance): return True else: return False questionindex = ['','',''] questionindex[0] = ["Convert {1[0]:0.2f} centimeters into meters.","{1[0]}*0.01"] questionindex[1] = ["What is the length of the line segment with endpoints ({2[1]},{2[2]}) and ({2[3]},{2[4]})?","math.sqrt(({2[3]}-{2[1]})**2 + ({2[4]}-{2[2]})**2)"] questionindex[2] = ["Solve for x in the equation {2[1]}x - {0[2]} = {2[7]}","({2[7]}+{0[2]})*1./{2[1]}"] #question = "What is the length of the line segment with endpoints ({2[1]},{2[2]}) and ({2[3]},{2[4]})?" #answer = "math.sqrt(({2[3]}-{2[1]})**2 + ({2[4]}-{2[2]})**2)" #question = "Solve for x in the equation {2[1]}x - {0[2]} = {2[7]}" #answer = "({2[7]}+{0[2]})*1./{2[1]}" for q in questionindex: currentQuestion = Question(q[0],q[1]) print currentQuestion.text print currentQuestion.answer ```