Python 使用Random Random从-100到100进行随机浮动

Python 使用Random Random从-100到100进行随机浮动,python,random,range,Python,Random,Range,我想使用random.random()生成随机浮点数,并用一些数学方法修改输出,以便最终得到-100到+100。使用数学,我想用乘法和减法生成三个在-100到+100范围内的随机浮点数 这是我的密码: import random random_float = (random.random()) print("First random float between -100 and +100:", random_float - 10) print("Second random float betwe

我想使用random.random()生成随机浮点数,并用一些数学方法修改输出,以便最终得到-100到+100。使用数学,我想用乘法和减法生成三个在-100到+100范围内的随机浮点数

这是我的密码:

import random
random_float = (random.random())
print("First random float between -100 and +100:", random_float - 10)
print("Second random float between -100 and +100:", random_float * 70)
print("Third random float between -100 and +100:", random_float * 100)
以下是我的输出:

First random float between -100 and +100: -9.932043497731886
Second random float between -100 and +100: 4.756955158768027
Third random float between -100 and +100: 6.795650226811468
这看起来对吗?

random.uniform(a,b) 您可以使用:

如果您完全想自己计算:

random.random()*200-100
你的代码 下面是如何将其集成到代码中。请注意,如果您想要独立的随机号码,则需要调用
random
三次:

import random

for ordinal in ['First', 'Second', 'Third']:
    random_float = random.uniform(-100,100)
    print "%s random float between -100 and +100: %f" % (ordinal, random_float)
它输出:

First random float between -100 and +100: -67.216959
Second random float between -100 and +100: 25.984499
Third random float between -100 and +100: 60.656098
随机、均匀(a、b) 您可以使用:

如果您完全想自己计算:

random.random()*200-100
你的代码 下面是如何将其集成到代码中。请注意,如果您想要独立的随机号码,则需要调用
random
三次:

import random

for ordinal in ['First', 'Second', 'Third']:
    random_float = random.uniform(-100,100)
    print "%s random float between -100 and +100: %f" % (ordinal, random_float)
它输出:

First random float between -100 and +100: -67.216959
Second random float between -100 and +100: 25.984499
Third random float between -100 and +100: 60.656098
由于
np.random.rand()
会吐出一个介于0和1之间的数字,因此需要执行以下操作:

import numpy as np

random_float = 200*np.random.rand()-100
通常,要在a和b之间生成随机数,您应该

(b-a)*np.random.rand()+a

由于
np.random.rand()
会吐出一个介于0和1之间的数字,因此您需要执行以下操作:

import numpy as np

random_float = 200*np.random.rand()-100
通常,要在a和b之间生成随机数,您应该


(b-a)*np.random.rand()+a
您上次尝试的
random*100
有点正确,但这只会生成0(包括)到100(不包括)之间的值。如果希望介于-100到100之间,则应执行以下操作:

random_float = random.random()
print("Random float between -100 and +100:", (random_float * 200)-100)
然而,其他两个例子是不正确的。在第一个示例中,您的数字将始终在[-10.0,-9.0]的区间内。在第二个示例中,您的数字将始终在[0.0,70.0]的区间内。当然,这些数字在这些范围内是随机的,但不会在您指定的-100到100范围内


如果您想要3个相同范围内的随机数(-100到100),那么您确实需要调用
random.random()
三次。

您上次尝试的
random*100
有点正确,但这只会生成0(包括)到100(不包括)之间的随机数。如果您想要在-100到100之间,您应该执行以下操作:

random_float = random.random()
print("Random float between -100 and +100:", (random_float * 200)-100)
但是,其他两个示例不正确。在第一个示例中,您的数字将始终在[-10.0,-9.0]的区间内。在第二个示例中,您的数字将始终在[0.0,70.0]的区间内。当然,这些数字在这些范围内是随机的,但不会在您指定的-100到100范围内



如果希望3个随机数在同一范围内(-100到100),那么确实需要调用
random.random()
三次。

我不明白你为什么要这么做*70和-10?如果你想要三个从-100到100的随机浮点,只需重复同样的事情三次
random\u float*100
你的问题到底是什么?@Bobby不需要是
200*(random.random()-0.5)
?@Tagc ha你说得对。我是个白痴,XDI只是想随机计算这个问题,据说是用乘法和减法,谢谢。我很困惑你为什么要做*70和-10?如果你想要从-100到100的三个随机浮点,只需重复同样的事情三次
随机浮点*100
你的问题到底是什么?@Bobby不需要
200*(random.random()-0.5)
?@Tagc ha你是对的。我是个白痴,XDI只是想随机计算这个问题,据说要使用乘法和减法,谢谢你,胡?为什么要为随机值使用额外的库,比如
numpy
只是为了一个随机值?@mkie我猜这只是一个习惯。你也可以使用
random
。这看起来很好,但是问题需要使用random random,谢谢。好的,那么就使用
random.random()*200-100
变体。这看起来很好,但是问题需要使用random random,谢谢。好的,所以就使用
random.random()*200-100
variant.使用相同的公式调用它三次?(random_float*200)-100)问题要求使用减法和乘法,但这看起来非常好,谢谢。我尝试了这个,它似乎总是在范围内。我运行了两次,范围出来了okimport random_float=random.random()打印(“第一个介于-100和+100之间的随机浮点:”,(random_float*200)-100)打印(“第二个介于-100和+100之间的随机浮点:”,(random_float*150)-100)打印(“第三个介于-100和+100之间的随机浮点:”,(random_float*100)-100)@Supernova,很抱歉延迟响应。您需要调用
random.random()
在每次打印之间。如果不多次调用
random.random()
,仅使用加法、乘法和减法就不可能在同一范围内获得不同的随机数。如果执行
(random\u float*150)-100
,则您的数字将永远不会超过50。如果执行
(random\u float*100)-100
,您的数字将永远不会超过零。只有在代码中实现了自定义的rand函数,才能避免调用生成新的随机浮点(
random.random()
),这是不推荐的。random\u float=random.random()打印(“介于-100和+100之间的第一个随机浮点:,(random\u float*200)-100)random_float=random.random()打印(“第二个介于-100和+100之间的随机浮点:”,(random_float*150)-100)random_float=random.random()打印(“第三个介于-100和+100之间的随机浮点:”,(random_float*100)-100)使用相同的公式调用它三次?(random_float*200)-100)问题要求使用减法和乘法,但这看起来非常好,谢谢。我尝试了这个,它似乎总是在范围内。我运行了2次,范围出来了okimport random\u floa