Python 如何在程序运行时刷新random.randint?
我正在制作一个小程序,它可以解决数学问题,并且需要一个答案才能通过。它工作正常,但只要程序运行,我生成的所有randint值都保持静态。我想如果我改变:Python 如何在程序运行时刷新random.randint?,python,python-3.x,function,random,Python,Python 3.x,Function,Random,我正在制作一个小程序,它可以解决数学问题,并且需要一个答案才能通过。它工作正常,但只要程序运行,我生成的所有randint值都保持静态。我想如果我改变: Tehtävä = random.choice(Laskut) 在函数中,它应该使用循环刷新。问题是我一辈子都不知道该怎么做。这对我正在尝试的东西有用吗?randint值在单独的列表中确定。以下是代码的其余部分: Peli = 1 while Peli != 2: pulma = 1 refresh = 1 Tehtä
Tehtävä = random.choice(Laskut)
在函数中,它应该使用循环刷新。问题是我一辈子都不知道该怎么做。这对我正在尝试的东西有用吗?randint值在单独的列表中确定。以下是代码的其余部分:
Peli = 1
while Peli != 2:
pulma = 1
refresh = 1
Tehtävä = random.choice(Laskut)
while pulma == 1:
ratkaisu = float(input(Tehtävä.problem + "\n:"))
if ratkaisu == Tehtävä.answer:
pulma += 1
refresh += 1
print("oikein")
elif ratkaisu == "loppu":
pulma += 1
refresh += 1
Peli += 1
else:
print("väärin")
以下是我使用的值:
import random
class Algebra:
def __init__(self, problem, answer):
self.problem = problem
self.answer = answer
#Muuttujat
#erotus ja summa
a = random.randint(1,99)
b = random.randint(1,99)
c = random.randint(1,99)
d = random.randint(1,99)
#jako ja kerto
e = random.randint(1,10)
f = e*random.randint(1,10)
g = random.randint(1,10)
#Kysymykset
Kysymys_M = [str(a) + "+" + str(b) + "-x=" + str(c),
str(a) + "-" + str(b) + "-x=" + str(a),
str(a) + "-" + str(b) + "-" + str(c) + "-x=" + str(d),
str(e) + "*x=" + str(f),
str(f) + ":x=" + str(e),
"x:" + str(e) + "=" + str(g)]
#Vastaukset
Vastaus_M = [a+b-c,
-b,
a-b-c-d,
f/e,
f/e,
e*g]
Laskut = [
Algebra(Kysymys_M[0], Vastaus_M[0]),
Algebra(Kysymys_M[1], Vastaus_M[1]),
Algebra(Kysymys_M[2], Vastaus_M[2]),
Algebra(Kysymys_M[3], Vastaus_M[3]),
Algebra(Kysymys_M[4], Vastaus_M[4]),
Algebra(Kysymys_M[5], Vastaus_M[5]),]
(如果我打包了太多的信息,请让我知道)
仔细考虑整个过程,并确切地考虑在程序中的什么地方,你应该选择<代码> THT HavaVaS/<代码>,这样它就可以得到一个新的值。然后考虑如何编写代码,以实现这一点。很难再帮你了,因为我不懂你的变量名。为了进一步澄清Karl所说的:Tehtävä
的值只有在你给它赋值时才会改变,比如Tehtävä=random.choice(Laskut)
。由于在pulma==1时,在循环外分配了一次,因此当它在循环内时,它会保持该值。