Skip to main content
 首页 » 编程设计

python之在python中随机排除0

2025年05月04日15bluestorm

我想选择一个介于 -1.5 和 1.5 之间的数字,但这不应该是 0。

我正在使用:

x = random.uniform( -1.5, 1.5 ) 

但我必须写一个排除 0 的条件,例如:

x = 0 
while (x==0): 
    x = random.uniform( -1.5, 1.5 ) 

是否可以不加条件地写这个?

请您参考如下方法:

你可以试试

1.5 * (1.0 - random.random()) 

然后随机决定是否否定结果。自 random.random() < 1.0 ,你不应该(在数字上)得到零。

编辑:

已经(正确地)指出这需要两个随机决定。要通过一个随机决定来做到这一点,请使用以下内容:

v = 3.0 * random.random() 
result = 1.5 - v 
if v >= 1.5: 
    result = v - 3.0 

如果0.0 <= v < 1.5 , 你得到 1.5 - v , 和 0.0 <= range < 1.5 .

否则,1.5 <= v < 3.0 ,你会得到 v - 3.0 , 所以 0.0 > range >= -1.5 .