![](/img/trans.png)
[英]How to Generate random code with 4 digit string and 4 digit number in 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.