生成随机范围

时间:2014-07-07 04:08:30

标签: python-3.x 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

有没有快速的方法来做到这一点?

1 个答案:

答案 0 :(得分:1)

我觉得很难做一个快速的程序,其值与你正在使用的值一样高。但我会这样做:

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])

由于你想要(最后一个)&lt; 150和(last-first)&gt; 100你可以使用last = random.randint(第一个+ 101,第一个+ 149)然后你不需要使用“如果”因为条件已经成真