Math+Quiz+Assignment

=Math Quiz=

Description
The following program runs a math quiz consisting of 10 multiplication problems involving operands between 1 and 10: code from random import randint

correct = 0

for i in range(10): n1 = randint(1, 10) n2 = randint(1, 10) prod = n1 * n2

ans = input("What's %d times %d? " % (n1, n2)) if ans == prod: print "That's right -- well done.\n" correct = correct + 1 else: print "No, I'm afraid the answer is %d.\n" % prod

print "\nI asked you 10 questions. You got %d of them right." % correct print "Well done!"

code Your mission will be to do the following: > > > > >
 * 1) Modify the program so that the user can choose how many questions they will be asked.
 * 1) Add levels to the program:
 * Beginner - with operands between 1 and 10
 * Intermediate - with operands between 1 and 25
 * Advanced - with operands between 1 and 100
 * 1) Modify the message at the end so that it says:
 * Well done!: if the user answered more than 2/3 of the questions correctly.
 * You need more practice: if they get between 1/3 and 2/3 of the questions correct.
 * Please ask your math teacher for help!: if they get less than 1/3 of the questions correct.
 * 1) Allow the user to start another quiz without restarting the program.
 * 1) Let the user choose the question type: addition, subtraction, multiplication, or mixed.

Extra for Experts:
>
 * 1) Add division as a question type, but //only generate questions which have integral solutions//.
 * 1) Maintain session totals for each type of question (the total number of questions, and the total answered correctly; the total number of addition, subtraction, multiplication, and division questions and the total correct for each of these question types).