Python 如何在浮动范围之间获得一个随机数?
Python 如何在浮动范围之间获得一个随机数?,python,random,floating-point,Python,Random,Floating Point,randrange(开始、停止)只接受整数参数。那么,如何获得两个浮点值之间的随机数呢?使用: 使用: 随机。统一(a,b)似乎就是你想要的。从文档中: 返回一个随机浮点数N,这样arandom.uniform(a,b)似乎就是您想要的。从文档中: 返回一个随机浮点数N,这样a如果您想生成一个点右边有N个数字的随机浮点数,您可以这样做: round(random.uniform(1,2), N) 第二个参数是小数位数 如果要生成点右侧有N个数字的随机浮点,可以执行以下操作: round(ran
randrange(开始、停止)
只接受整数参数。那么,如何获得两个浮点值之间的随机数呢?使用:
使用:
随机。统一(a,b)
似乎就是你想要的。从文档中:
返回一个随机浮点数N,这样arandom.uniform(a,b)
似乎就是您想要的。从文档中:
返回一个随机浮点数N,这样a如果您想生成一个点右边有N个数字的随机浮点数,您可以这样做:
round(random.uniform(1,2), N)
第二个参数是小数位数 如果要生成点右侧有N个数字的随机浮点,可以执行以下操作:
round(random.uniform(1,2), N)
第二个参数是小数位数 最常用的方法是:
import random
random.uniform(a, b) # range [a, b) or [a, b] depending on floating-point rounding
如果需要,Python会提供
如果已经导入了numpy
,则可以使用其等效项:
import numpy as np
np.random.uniform(a, b) # range [a, b)
同样,如果您需要另一个发行版,
numpy
提供了与python相同的发行版,并且。最常用的是:
import random
random.uniform(a, b) # range [a, b) or [a, b] depending on floating-point rounding
如果需要,Python会提供
如果已经导入了numpy
,则可以使用其等效项:
import numpy as np
np.random.uniform(a, b) # range [a, b)
同样,如果您需要另一个发行版,
numpy
提供了与python相同的发行版,以及。根据我处理python的经验,我只能说随机函数可以帮助生成随机浮点数。以下面的例子为例
import random
# Random float number between range 15.5 to 80.5
print(random.uniform(15.5, 80.5))
# between 10 and 100
print(random.uniform(10, 100))
The random.uniform() function returns a random floating-point number between a given range in Python
这两组代码生成随机浮点数。你可以试着用它来给你想要的。根据我处理python的经验,我只能说随机函数可以帮助生成随机浮点数。以下面的例子为例
import random
# Random float number between range 15.5 to 80.5
print(random.uniform(15.5, 80.5))
# between 10 and 100
print(random.uniform(10, 100))
The random.uniform() function returns a random floating-point number between a given range in Python
这两组代码生成随机浮点数。你可以试着用它来做实验,得到你想要的。这理论上能产生1.5和1.9吗?或者它只会产生1.50~1和1.89~?@Musixauce3000简短回答:是的。更详细的回答:如果您查看文档,它会声明
返回一个随机浮点数N,这样a就可以不使用.uniform
函数,而是使用.random
或randrange
?@DerryckDX1.5+random.random()*(1.9-1.5)
来执行此操作,尽管根据规范,这永远不会精确返回1.9
(即使在理论上)。@Musixauce3000似乎uniform(a,b)
实现为a+(b-a)*random()
,并返回[a,b)或[a,b]范围内的随机数根据舍入的不同,这在理论上会产生1.5和1.9?还是只会产生1.50~1和1.89~?@Musixauce3000简短回答:是的。更长的回答:如果您查看文档,它声明返回一个随机浮点数N,那么a是否有其他方法不使用.uniform
函数来实现这一点,但是使用.random
或randrange
?@DerryckDX1.5+random.random()*(1.9-1.5)
应该可以,即使根据规范,这永远不会精确返回1.9
(即使在理论上)。@Musixauce3000似乎统一(a,b)
实现为a+(b-a)*random()
并根据取整返回[a,b]或[a,b]范围内的随机数,如果需要numpy,则返回np.random.uniform(start,stop)
或np.random.uniform(start,stop,samples)
如果需要多个样本,则返回以下答案。如果需要numpy,则返回np.random.uniform(start,stop)
或np.random.uniform(开始、停止、样本)
如果你想要多个样本。否则下面的答案是最好的。我不知道为什么这没有更多的向上投票,其他人没有取整机制。我不知道为什么这没有更多的向上投票,其他人没有取整机制。