在Python中生成指定区间的随机数

3
如何使用Python的random()randrange()函数在区间[-0.5, 0.5]内生成一个随机数?
3个回答

9

random函数返回一个浮点数,不需要参数,而randrange函数需要上限和下限作为参数,并返回一个整数。

from random import randrange

print(randrange(-5, 5))

如果您想使用浮点数,请使用uniform函数:

from random import  uniform

uniform(-.5, .5)

谢谢,uniform确实会返回[-.5, .5]内的浮点数,但我想知道如何不使用uniform,仅使用random()randrange()来实现。 - Camilo Celis Guzman

2

这会有用的,random.random() - .5


谢谢!上限包括吗? - Camilo Celis Guzman
不,上限是排除的,但下限是包含的。 - hostingutilities.com
random.random()总是有一个独占的上限,但有时random.uniform()会有一个包含在内的上限。这里有一个Stack Overflow的问题进一步讨论了这个问题 - https://dev59.com/tFXTa4cB1Zd3GeqPyA47 - hostingutilities.com

1
如果你想坚持使用random()并使用不同的边界,你可以轻松地这样做:
from random import random
upper_limit = 0.5
lower_limit = -0.5
random() * (upper_limit - lower_limit) + lower_limit

这将始终为您提供介于-0.5和0.5之间的随机浮点数。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接