Python 如何在两个值之间随机选择?

Python 如何在两个值之间随机选择?,python,numpy,Python,Numpy,所以基本上我想得到一段代码,在两个值之间随机选择-40和40 为了做到这一点,我考虑使用好的古老数学,比如- 随机数=(-1)^值)*40,其中值={1,2} random_num,顾名思义应该是一个随机数 有什么帮助吗 我正在使用python,使用库的解决方案是可以接受的。在python中很简单: Python 3.7.3 (default, Mar 27 2019, 13:36:35) [GCC 9.0.1 20190227 (Red Hat 9.0.1-0.8)] on linux Ty

所以基本上我想得到一段代码,在两个值之间随机选择-40和40

为了做到这一点,我考虑使用好的古老数学,比如-

随机数=(-1)^值)*40,其中值={1,2}

random_num,顾名思义应该是一个随机数

有什么帮助吗


我正在使用python,使用库的解决方案是可以接受的。

在python中很简单:

Python 3.7.3 (default, Mar 27 2019, 13:36:35) 
[GCC 9.0.1 20190227 (Red Hat 9.0.1-0.8)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from random import choice
>>> choice((-40, 40))
40
>>>

假设
L
是要从中选择的值的列表,则
random.choice(L)
将完成此工作

就你而言:

import random
L = [-40, 40]
print(random.choice(L))

您可以使用python中的
choices
函数来实现这一点。如果希望选择的值仅为-40或40,则第二个参数是概率/权重

from random import choices
choices([-40,40], [0.5,0.5])

如果希望随机整数值介于-40和+40之间,则

import random
random.randint(-40, 40)
 import random
 random.choice([-40, 40])

如果要选择-40或+40,则

import random
random.randint(-40, 40)
 import random
 random.choice([-40, 40])

如果您真的喜欢按照您的问题中选择1或2的实现,那么在random.choice方法中插入这些值


提供了上述解决方案,因为我觉得这个问题有些含糊不清。

导入random.randint(-40,40)
您已经尝试过了吗?您想要在-40到40之间的值,还是选择-40或40?@yatu在我看来很含糊,
np.random.choice([-40,40])
当标准库提供了一个完美的解决方案时,为什么那么多程序员会增加NumPy开销?OP需要-40或40,而不是-40和40之间的值。@Guybrush更新了我的答案。这应该很好,我不认为这里的
choices
choice
更可取,因为前者会返回所选项目的列表(即使只有一个项目)。这意味着OP必须做
x=choices(…)[0]
其中
x=choice(…)
足够简单,可读性更好;-)同意@Guybrush!