0
import random
a = random.randint(0,7)
b = random.randint(0,7)
c = random.randint(0,7)
d = random.randint(0,7)
...
我怎么能更有效地声明这些变量,因为我希望他们是随机的?声明多个变量与随机值
import random
a = random.randint(0,7)
b = random.randint(0,7)
c = random.randint(0,7)
d = random.randint(0,7)
...
我怎么能更有效地声明这些变量,因为我希望他们是随机的?声明多个变量与随机值
x, y, z = (random.randint(0, 7) for x in range(3))
这生成一个3个随机整数的元组,并将它们分配给x,y和z。
如果你想要的是为了节省一些打字,你可以使用一个发电机
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
如果是这样的话,我宁愿用一个实际的字典来存储值,用字母作为键,而不是为它们创建变量。
而且,当然,如果您使用的是类,则使用self.__dict__
而不是__main__
。
你有什么问题?也许你应该使用一个列表和一个循环,而不是声明多个变量。 – Barmar
为什么不是数组? –
我不使用数组,因为我只需要2个变量,但是我只是出于好奇而问这个问题! –