我遇到的一个问题是,在我的代码中,任何人都可以提供帮助将非常棒。
这是示例代码。

from random import *
from numpy import *
r=array([uniform(-R,R),uniform(-R,R),uniform(-R,R)])

def Ft(r):
    for i in range(3):
       do something here, call r
    return something

但是我发现在python shell中,每当我运行函数Ft时,它都会给我带来不同
结果.....好像在函数中一样,在for循环的每个迭代中,一次调用r,一次给出随机数...但是在我调用函数时不固定初始随机数..我修复它?
如何使用b = copy(r)然后在Ft函数中调用b?
谢谢

最佳答案

您是说要让对randon.uniform()的调用在每次运行函数时返回相同的值序列吗?
如果是这样,则需要调用random.seed()将序列的开头设置为固定值。如果不这样做,那么将使用当前系统时间来初始化随机数生成器,这旨在使随机数生成器每次生成不同的序列。

这样的事情应该工作

random.seed(42) # Set the random number generator to a fixed sequence.
r = array([uniform(-R,R), uniform(-R,R), uniform(-R,R)])

关于python - 如何确定随机产生的值(value)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1805265/

10-13 02:22