我在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 = []