我目前正在制作一个学校作业计划,我需要做一个数学测验计划。我正在做一个简单的乘法测验。
我需要能够为问题生成2个随机整数,但每个问题必须不同。
import random
correct = wrong = num1 = num2 = 0
questionNum = 1
num1 = random.randint(1,49)
num2 = random.randint(50,100)
for i in range(0, 8):
print("\nQuestion", questionNum)
print("What is", num1, "mulitplied by", num2, "?")
answer = int(input("Answer: "))
if answer == num1*num2:
print("Correct.")
correct = correct + 1
questionNum = questionNum + 1
else:
print("Incorrect. The correct answer is", answer)
wrong = wrong + 1
questionNum = questionNum + 1
每次问题都有相同的数字。有没有办法改变这个?
答案 0 :(得分:4)
只需将您的random.randint
作业移至 for for循环:
for i in range(1, 9):
num1 = random.randint(1, 49)
num2 = random.randint(50, 100)
如果您只在循环之前调用randint
,则num1
和num2
的值将在每次迭代时保持相同。将其移入内部意味着您每次都会获得新的随机数。
另请注意:
questionNum
变量,只需使用i
;这样你就不需要手动增加它。num1
或num2
初始化为零。 correct += 1
print('the correct answer is', num1*num2)
,否则你只会打印不正确的输入。