Python 3.x 生成随机范围

Python 3.x 生成随机范围,python-3.x,random,Python 3.x,Random,我想用两个数字之间的特定大小范围生成随机范围。首先,我认为random模块中可能有一些特定的函数来实现这一点,但似乎没有这样的函数 我写了下面的代码,但速度很慢 import random range_list=[] n=0 while n<1000000: first=random.randint(1,3000000000) last=random.randint(1,3000000000) if abs(last-first) <150 and ab

我想用两个数字之间的特定大小范围生成随机范围。首先,我认为random模块中可能有一些特定的函数来实现这一点,但似乎没有这样的函数

我写了下面的代码,但速度很慢

import random
range_list=[]
n=0
while n<1000000:
     first=random.randint(1,3000000000)
     last=random.randint(1,3000000000)
     if abs(last-first) <150 and abs(last-first)>100:
         range_list.append([last,first])
     else:
         continue
     n+=1
随机导入
范围_列表=[]
n=0

而n我发现很难用与您正在使用的值一样高的值来编写一个快速程序。但我会这样做:

import random
range_list=[]

for n in range(1000000):
    first=random.randint(0,3000000000)
    last=random.randint(first+101,first+149)
    range_list.append([last,first])

因为您想要(last first)100,所以可以使用last=random.randint(first+101,first+149),然后您就不需要使用“if”,因为条件已经为真

生成两个介于0和50之间的随机数,将(100+一个随机数)添加到两者中。不?把随机数加在一起并不总是一个好主意。你可能会破坏随机性产生的“质量”。看看,这很好地解释了这一点。这就是说,在这个特定的例子中,由于一个随机数的分布非常广泛,而另一个随机数的分布非常狭窄,卷积分布可能也相当平坦——如果这是预期的话。