Python 如何生成随机浮点并将其四舍五入到小数点后1位

Python 如何生成随机浮点并将其四舍五入到小数点后1位,python,python-3.x,Python,Python 3.x,在Python 3.4中,如何生成一个随机浮点,然后将该浮点四舍五入到最接近的小数点?假设您想要一个介于0.0和1.0之间的浮点,可以使用以下方法: import random print(int(random.random()*10) / 10.0) (注意,除法为10.0,而非10以强制浮动操作) 输出: 0.2 0.6 0.8 方法1: 您需要两件事:和内置函数 首先你需要一个随机数。这很容易做到: import random a = random.random() 这将产生一个介

在Python 3.4中,如何生成一个随机浮点,然后将该浮点四舍五入到最接近的小数点?

假设您想要一个介于0.0和1.0之间的浮点,可以使用以下方法:

import random
print(int(random.random()*10) / 10.0)
(注意,除法为10.0,而非10以强制浮动操作)

输出:

0.2
0.6
0.8


方法1:

您需要两件事:和内置函数

首先你需要一个随机数。这很容易做到:

import random
a = random.random() 
这将产生一个介于0和1之间的数字。接下来使用
round()
将其舍入:

b = round(a, 1) # Thanks to https://stackoverflow.com/users/364696/shadowranger for the suggestion 
print(b)
round()
中的第二个参数指定它在本例中舍入到的小数位数1,这意味着它舍入到小数点后1位

你的任务完成了

方法2:

另一种方法是使用它生成一个范围内的整数,然后我们可以除以10得到小数点后一位:

import random # get the random module
a = random.randint(1, 9) # Use the randint() function as described in the link above
b = a / 10 # Divide by 10 so it is to 1 decimal place.
print(b)

在哪个值和哪个值之间进行随机浮点运算?您可以在下面找到文档,为什么不能生成一个随机整数呢?可能是@MoinuddinQuadri的副本,谢谢您的重新标记。好主意我会在我的回答中包括这一点。如果你不反对的话,
int
是否总是四舍五入?现在修复@Simon.Notes:1。OP指定为python3
/10
可以正常工作(因为
/
在Py3上是真正的分区,而不是地板分区)。2.这不会四舍五入到最接近的小数点,而是四舍五入到零(如果生成的
0.99999
9.9999
将被截断为
9
,那么除法将得到
0.9
,而不是更接近的
1.0
)。您根本不需要乘法或除法
round
接受两个参数,其中第二个参数是要舍入的位数,因此您只需执行
b=round(a,1)
,它在一步中直接舍入到小数点后的一个位数。@ShadowRanger更正