如何生成随机数并将它们分配给python中的变量?

时间:2018-01-11 19:52:26

标签: python python-3.x

假设我希望变量a_1,a_2,a_3,a_4是来自均匀分布U(0,100)的随机数。我可以写

import random

a_1 = random.uniform(0,100) 
a_2 = random.uniform(0,100) 
a_3 = random.uniform(0,100)
a_4 = random.uniform(0,100)

但我想知道是否有更有效的方法来做到这一点。我尝试了以下内容,

import random

for i in range(4):
    a_i = random.uniform(1,100)
    print(a_i)

然而,这不起作用。例如,当我稍后调用a_1时,它表示未定义a_1。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:4)

将随机值放入列表中,然后按索引访问成员:

>>> import random
>>> a = [random.uniform(1,100) for _ in range(4)]
>>> a
[71.4615087249735, 19.04308860149112, 40.278774122696014, 69.18947997939686]
>>> a[0]
71.4615087249735
>>> a[2]
40.278774122696014

除非你有一个非常非常好的理由,否则动态定义变量是很难证明的。

答案 1 :(得分:1)

如果您不想使用列表,可以使用解包功能

import random
up, down, strange, charm = [random.uniform(1,100) for _ in range(4)]

答案 2 :(得分:1)

看来你需要范围内的数字(0,100),如果你想在一个范围内(或其他可迭代的)生成随机整数 试试这个。 以防您需要更具体

import random numberOf_intRequired=4 random_int=random.sample(range(0,100),numberOf_intRequired)