我需要创建一个python函数来生成一个n维向量,这样每个元素在[0100]中都是一个实数

我需要创建一个python函数来生成一个n维向量,这样每个元素在[0100]中都是一个实数,python,function,vector,numerical-methods,numpy-ndarray,Python,Function,Vector,Numerical Methods,Numpy Ndarray,我对python不是很在行,我需要创建一个函数randvec(n),它将创建一个n维向量,其中每个元素都是[0100]中的一个随机实数。下面是我到目前为止得到的 def randvec(n): vector = np.ndarray((1,n),dtype=float) for i in range(0,n): vector[i] = np.random.uniform(0,100) print(vector[i]) test = randvec

我对python不是很在行,我需要创建一个函数randvec(n),它将创建一个n维向量,其中每个元素都是[0100]中的一个随机实数。下面是我到目前为止得到的

def randvec(n):
    vector = np.ndarray((1,n),dtype=float)
    for i in range(0,n):
        vector[i] = np.random.uniform(0,100)
        print(vector[i])

test = randvec(4)
print(test)
输出:[64.58722344 64.58722344 64.58722344 64.58722344 64.58722344]


根据我在for循环中打印时的输出,我不认为random.uniform()是我想要使用的函数,因为它给了我n次相同的随机数

我还收到以下错误消息:“索引1超出大小为1的轴0的界限。”

如果你看到我的错误,请告诉我!谢谢

def randvec(n):
   return [random.random()*100 for _ in range(n)]
将生成
n
实随机值,使每个值都在区间[0,100]内。有关
random()
方法的更多信息,请参阅类
random

但这是一个PRNG(伪随机数生成器),意味着它是可预测的“随机”序列

警告:此模块的伪随机生成器不应为空 用于安全目的。如果需要,请使用os.URADOM()或SystemRandom 需要加密安全的伪随机数生成器


出于安全目的,请使用TRNG或CSPRNGs。

“它给了我n次相同的随机数”-不可能,请在For循环中发布一个带有打印内容的I编辑并提供输出。希望这就是您的意思,它有助于提供整个错误消息。为什么不使用适当的NumPy函数为了这个?谢谢!我不知道为什么我没有想到这么简单的东西。也许不够安全,但足够做我的数学作业了。