Skip to main content
 首页 » 编程设计

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

2025年05月04日15mfrbuaa

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