我该如何生成在区间 (0, 0.1] 内精确到小数点后两位的随机数?目前我的代码能够生成在区间 [0, 0.1] 内精确到小数点后两位的随机数:
radius = round(random.uniform(0, 0.1), 2)
radius = round(random.uniform(0, 0.1), 2)
x = random.randint(1, 10)
y = x / 100.0
Documentation: random.randint(a, b)
radius = round(random.uniform(0.005, 0.10499999999999), 2)
print(radius)
你还需要扩展采样值的范围,以确保选择边缘数字0.01和0.1的概率与所需范围内的任何其他数字相同。否则,它们将以其他数字的一半概率进行采样。我假设round函数向上舍入,即0.105最终会变成0.11而不是0.10。
尝试从最大值中减去随机值,使用uniform
函数时包括低值但不包括高值,这样你就可以得到从0
到max
的值,不包括低值但包括高值:
radius = round(0.1-random.uniform(0, 0.1), 2)