所以我有一个程序,需要以设定格式(例如000-00-0-0000)生成一组随机数字。我有一个名为0-9的整数变量,我需要能够随机选择这些整数并以格式输入它们,反正有这样做吗? Here is the code for referencing.
答案 0 :(得分:3)
使用random
和str.format
:
import random
'{}{}{}-{}{}-{}-{}{}{}{}'.format(*(random.randint(0, 9) for _ in range(10)))
示例输出(每次执行都不同)
'377-38-3-2187'
或者如果您已经有一组int
s的池:
ints = [0,1,2,3]
'{}{}{}-{}{}-{}-{}{}{}{}'.format(*(random.choice(ints) for _ in range(10)))
样本输出:
'221-03-3-2110'
答案 1 :(得分:2)
一种方法是生成最多十个数字(9999999999
)的随机数,用零填充该数字,然后使用re.sub
在需要的地方引入连字符:
import random
import re
nums = str(random.randint(1,9999999999)).zfill(10)
nums = re.sub(r'(\d{3})(\d{2})(\d)(\d{4})', '\\1-\\2-\\3-\\4', nums)
print(nums)
打印(我运行时):
099-27-4-9895