Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在程序运行时刷新random.randint?_Python_Python 3.x_Function_Random - Fatal编程技术网

Python 如何在程序运行时刷新random.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ä

我正在制作一个小程序,它可以解决数学问题,并且需要一个答案才能通过。它工作正常,但只要程序运行,我生成的所有randint值都保持静态。我想如果我改变:

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时,在
循环外分配了一次,因此当它在循环内时,它会保持该值。