无法在Python中生成不同的随机数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法在Python中生成不同的随机数相关的知识,希望对你有一定的参考价值。

我在python中遇到这个问题,我不能在循环中生成不同的随机数。每个循环生成相同的数字。我的代码看起来像这样:

import random

class Dna :
    genes = []

    def __init__(self, lifespan) :

        sum = 0
        for i in range(lifespan) :
            self.genes.append(PVector(random.randrange(-10, 10), random.randrange(-10, 10)))
            sum += self.genes[i].mag()

        print(sum)

在这里,我试图生成-10和10范围内的随机向量,但每个不同的DNA对象打印相同的总和。这是主文件:

import dna

def setup() :

    d = dna.Dna(200)
    d2 = dna.Dna(200)

而我正在使用processing.py。

答案

genes需要是一个实例变量(每个Dna类实例一个副本),而不是类变量(Dna类的一个副本,由所有实例共享)。

def __init__(self, lifespan):
    self.genes = []

以上是关于无法在Python中生成不同的随机数的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中生成可重现(带有种子)的随机 UUID

在python中生成多个PDF报告

在 Dart 中生成唯一的随机数

在 Python 中生成随机数的标准方法是啥?

在 Python 中生成随机数的标准方法是啥?

如何在java中生成6个不同的随机数