簡體   English   中英

如何一次性生成多個9位隨機數並在python中為其添加前綴數字

[英]How to generate multiple 9 digit random numbers in one go and add a prefix number to them in python

我想一次在python中生成多個( n數字) 9 digit隨機數,然后向這些數字中的每個數字添加前綴數字(例如1)(使它們成為10個數字),然后將其寫入文件中? 我知道如何使用以下方法生成一個隨機數:

import random
random.randint(100000000,999999999)

但是,如何在將它們寫入文件之前一次性生成多個數字,然后向每個數字添加預定的前綴數字呢?

在這里,我要處理10個隨機生成的數字,並針對您想要多少個數字做,

import random
for i in range (10):
    ang = random.randrange(100000000,999999999)
    print int("1"+str(ang))

您可以執行以下操作:

import random
file = open("output.txt", "ab")

def generate_random(n):
    for i in range(n):
        number = random.randint(1100000000, 1999999999)    #No need to ppend 1 after generating number.
        file.write(str(number)+"\n")

generate_random(10)

因此,輸出文件如下所示:

1972697009
1588689225
1801344328
1405227028
1801903655
1868723502
1358721529
1394641572
1104858492
1694223145

希望這可以幫助。

聽起來您可能對random.sample感興趣。 但是,除非總體中存在重復的值,否則樣本顯式僅產生唯一值。 這可能是您想要的,也可能不是。

使用示例,您可以執行以下操作:

import random

prefix = 1 # or something like "#1" if that's what you want
digits = 9
num_samples = 9
values = random.sample(range(10**digits), num_samples)
strings = ["{}{:0{}}".format(prefix, v, digits) for v in values]

with open("yourfile.txt", "w") as f:
    print(*strings, sep="\n", file=f)

只需選擇最后10位數字范圍內的9個數字的隨機樣本即可。 這也可以確保結果列表中的每個數字都是唯一的。

import random

numbers = xrange(1000000000, 2000000000)
sample = random.sample(numbers, 9)
print(sample)

輸出:

[1705109241, 1634244584, 1769529233, 1858322249, 1266131804, 1019067146,
 1781176897, 1274126811, 1216604448]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM