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

时间:2019-03-28 13:53:59

标签: python numpy

因此,基本上,我试图获取一段代码以在两个值-40和40之间随机选择。

为此,我正在考虑使用像-

这样的旧数学

random_num =((-1)^ value)* 40,其中value = {1,2}。

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

有什么帮助吗?

我正在使用python,可以使用库解决方案。

5 个答案:

答案 0 :(得分:3)

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

在您的情况下:

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

答案 1 :(得分:1)

在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
>>>

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

您可以使用random.getrandbits(1)随机获得0或1。这样可以做出二进制选择:

40 if random.getrandbits(1) else -40

当然,您可以对此进行参数化或将其用于查找。

def either(a, b):
    return a if random.getrandbits(1) else b

答案 4 :(得分:0)

如果您想要-40至+40之间的随机整数值,则

import random
random.randint(-40, 40)

https://docs.python.org/3.1/library/random.html#random.randint

如果您要选择-40或+40,那么

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

https://docs.python.org/3/library/random.html#random.choice

如果您确实希望按照自己的选择执行1或2的实现,则将这些值插入random.choice方法。

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

相关问题