簡體   English   中英

如何通過更改隨機數進行循環?

[英]How can I make a loop with changing random numbers?

我想制作一個會生成乘法方程的游戲。 我想使您得到一個簡單的乘法方程(例如:5 * 6),當您回答它時,程序將告訴您是否正確,然后轉到下一個隨機方程。 我知道如何使用許多不同的隨機數進行編碼,但這會使代碼很長,而且不夠雅致。 我需要一種無需每次創建20個不同隨機數的數據庫即可每次生成兩個不同隨機數的方法。 有人知道怎么做嗎? 謝謝!

這是我到目前為止編寫的代碼:

import random
import sys
import os

random_num1 = random.randrange(1, 10)
random_num2 = random.randrange(1, 10)

print(random_num1, 'X', random_num2, '=', )

def multiplication(random_num1, random_num2):
    sumNum = random_num1 * random_num2
    return sumNum

one = input()

if(int(one) == multiplication(random_num1, random_num2)):
    print('true')
else:
    print('false')

將您所有的代碼放入一個while循環,該循環永遠不會while True: (並且不要忘記將所有內容向右移一個選項卡)。

最好將def multiplication移出while循環。

您可以使用一個函數和一個while循環輕松地做到這一點。 假設您想玩10次,最后想獲得比分。

def multiplication(random_num1, random_num2):
    sumNum = random_num1 * random_num2
    # Indentation fixed
    return sumNum

def play() : 
    random_num1 = random.randrange(1, 10)
    random_num2 = random.randrange(1, 10)

    print(random_num1, 'X', random_num2, '=', )

    one = input()

    if(int(one) == multiplication(random_num1, random_num2)):
       return 1
    else:
       return 0

if __name__ == '__main__' :
    number_of_play = 10
    cpt = 0
    result = 0
    while cpt < number_of_play :
        cpt+=1
        cpt += play()
    print "Wow you perform {} out of {}".format(result, number_of_play)

這是我做的一個簡單示例(用“ try”語句編輯):

from random import randint

while 1:
    numA = randint(0,9)
    numB = randint(0,9)
    result = numA * numB

    print("\nFirst number:", numA)
    print("Second number:", numB)

    while 1: 
        try: 
            userResult = int(input("Insert your multiplication result: ")) 
            break
        except: 
            print("Error! The given digit is not a number. Retry :")

    if userResult == result:
        print("Bravo! That's right!")
    else:
        print("Damn! That's wrong!")

我試圖盡可能清楚。 希望對您有用。

暫無
暫無

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

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