The line answer = int(input("What is {number1} * {number2} ?"))
works fine when using without the function, but when I put it in functions, it throws the error Traceback (most recent call last): File "C:\Users\hjg\Downloads\test4.py", line 17, in <module> answer = eval(input("What is", number1, "*", number2, "?")) NameError: name 'number1' is not defined >>>
.
import random, math
def quiz(answer):
number1 = random.randint(0,9)
number2 = random.randint(0,9)
if answer == correctanswer:
return print("Correct")
else:
return print("Incorrect.")
answer = int(input("What is {number1} * {number2} ?"))
correctanswer = number1 * number2
quiz(number1, number2)
You have to put the variable on top to make it global.
import random, math
number1 = random.randint(0,9)
number2 = random.randint(0,9)
def quiz(answer):
correctanswer = number1 * number2
if answer == correctanswer:
return print("Correct")
else:
return print("Incorrect.")
answer = int(input(f"What is {number1} * {number2} ?"))
quiz(answer)