用随机值声明多个变量

时间:2017-08-01 02:59:52

标签: python

import random

a = random.randint(0,7)
b = random.randint(0,7)
c = random.randint(0,7)
d = random.randint(0,7)
...

我如何更有效地声明这些变量,因为我希望它们是随机的?

2 个答案:

答案 0 :(得分:3)

x, y, z = (random.randint(0, 7) for x in range(3))

这将生成一个包含3个随机整数的元组,并将它们分配给x,y和z。

答案 1 :(得分:1)

如果你只想保存一些打字,你可以使用发电机

In [2]: (a,b,c,d) = (random.randint(0,7) for x in range(4))

In [3]: a
Out[3]: 1

In [4]: b
Out[4]: 7

现在,如果您还想动态创建变量,可以使用__dict__

In [21]: import __main__

In [22]: for v in range (ord('a'), ord('z')):
    ...:     __main__.__dict__[chr(v)] = random.randint (0,7)

In [25]: x
Out[25]: 5

In [26]: y
Out[26]: 3

In [27]: q
Out[27]: 2

如果是这种情况,我宁愿使用实际的dict来存储值,用字母作为键,而不是为它们创建变量。

当然,如果您正在使用课程,请使用self.__dict__代替__main__