[英]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.