生成随机整数,但每次都需要不同

时间:2016-03-29 06:06:13

标签: python-3.x

我目前正在制作一个学校作业计划,我需要做一个数学测验计划。我正在做一个简单的乘法测验。

我需要能够为问题生成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

每次问题都有相同的数字。有没有办法改变这个?

1 个答案:

答案 0 :(得分:4)

只需将您的random.randint作业移至 for for循环:

for i in range(1, 9):
    num1 = random.randint(1, 49)
    num2 = random.randint(50, 100)

如果您只在循环之前调用randint,则num1num2的值将在每次迭代时保持相同。将其移入内部意味着您每次都会获得新的随机数。

另请注意:

  • 您不需要单独的questionNum变量,只需使用i;这样你就不需要手动增加它。
  • 您不需要在开头将num1num2初始化为零。
  • 如此编写的增量更清晰:correct += 1
  • 你可能想说print('the correct answer is', num1*num2),否则你只会打印不正确的输入。