簡體   English   中英

生成隨機整數,但每次都必須不同

[英]Generating random integers, but they need to be different each time

我目前正在編寫學校作業程序,並且需要編寫數學測驗程序。 我正在做一個簡單的乘法測驗。

我需要能夠為問題生成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

每次問題的編號相同。 有辦法改變嗎?

只要將您的random.randint分配的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) ,否則您將只打印他們的錯誤輸入。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM