因此,基本上,我试图获取一段代码以在两个值-40和40之间随机选择。
为此,我正在考虑使用像-
这样的旧数学random_num =((-1)^ value)* 40,其中value = {1,2}。
random_num,顾名思义,应该是一个随机数。
有什么帮助吗?
我正在使用python,可以使用库解决方案。
答案 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方法。
提供了上述解决方案,因为我觉得这个问题有些含糊。