用从变量中随机选择的整数替换整数
Replacing integers with randomly selected integers from a variable
所以我有一个程序需要以固定格式生成一组随机数字,i.g 000-00-0-0000。我有一个名为 integers 的变量,它具有 0-9,我需要能够随机选择这些整数并以格式输入它们,无论如何都可以这样做吗?
Here is the code for referencing.
一种方法是生成一个最多十位数字的 运行dom 数字 (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
使用 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'
所以我有一个程序需要以固定格式生成一组随机数字,i.g 000-00-0-0000。我有一个名为 integers 的变量,它具有 0-9,我需要能够随机选择这些整数并以格式输入它们,无论如何都可以这样做吗? Here is the code for referencing.
一种方法是生成一个最多十位数字的 运行dom 数字 (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
使用 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'