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