# I want to make a quiz. Plz help.

+1 vote
edited Apr 3, 2019

I want to make a math machine that will randomly get two numbers, add them together, then answer the question, then ask the person the question. It doesn't work. Plz help. The bold part is the part that goes wrong. Here is the code:

q=0
print("Welcome to this math test.")
from random import *

man = randint(1, 100)
from random import *

whi = randint(1, 100)
qua=whi+man
pie=input("What is ",whi,"+",man,"?")
if pie==qua:
print("Good")
q+=1
else:
print('Wrong')
toe=input("What is 9-6?")
if toe=='3':
print('Better')
q+=1
else:
print("Wrong")
fed=input('What is 12x11?')
if fed=='132':
print('Fantastical')
q+=1
else:
print("Wrong")
result=q*33
print(result,'%')

answered Apr 3, 2019 by Frankje
selected Apr 4, 2019 by Paolo Nader

Two things have to be changed:

1. When using input(), you have to give only one argument, not 5. So you have to join the different parts of your question into one string. This is done via +, but all Arguments should be strings, so the correct line is

pie=input("What is "+str(whi)+"+"+str(man)+"?")

2. The return value of input() is a string, but qua is an integer. Convert it to a string so the two can be compared:

if pie==str(qua):

One thing I couldn't help noticing: if the second answer is correct, the answer is "Better", irrespective of whether you got the first one right. Maybe this should be changed …

Hope this helps!

commented Apr 4, 2019 by (290 points)
The "better" is just a joke. Thanks:)
answered Jun 13, 2021 by (760 points)
q=0
print("Welcome to this math test.")
from random import *

man = randint(1, 100)
from random import *

whi = randint(1, 100)
qua=whi+man
print ("What is",whi,"+",man,"?\n")# I had changed the output to another line
pie=int(input())  # If you are getting an integer input use this syntax
if pie==qua:
print("Good")
q+=1
else:
print('Wrong')
toe=input("What is 9-6?") #Here no need to add the above syntax as you are checking the answer with a string
if (toe=='3'):
print('Better')
q+=1
else:
print("Wrong")
fed=input('What is 12x11?')
if fed=='132':
print('Fantastical')
q+=1
else:
print("Wrong")
result=q*33
print(result,'%')
commented Jun 13, 2021 by (760 points)
I have corrected the mistakes for you and added some comments for better understanding
mainly some data based mistakes only can be rectified :)