用从变量中随机选择的整数替换整数

时间:2019-09-18 05:32:21

标签: python python-3.x python-3.7

所以我有一个程序,需要以设定格式(例如000-00-0-0000)生成一组随机数字。我有一个名为0-9的整数变量,我需要能够随机选择这些整数并以格式输入它们,反正有这样做吗? Here is the code for referencing.

2 个答案:

答案 0 :(得分:3)

使用randomstr.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