我想生成两个数字之间具有特定范围大小的随机范围。首先我认为随机模块中可能会有一些特定的功能来做到这一点,但似乎没有这样的功能。
我编写了以下代码,但速度很慢。
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
有没有快速的方法来做到这一点?
答案 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)然后你不需要使用“如果”因为条件已经成真