在两者之间生成两个随机字符串

时间:2015-04-01 16:09:48

标签: python python-3.x random

我想知道如何在python 3.4.3中创建一个可以生成两个3个字符长字符串的代码。一位数0 - 9,以及字母表中的其他大写字母。它们之间也必须有一个划线。

示例:

MUS-875

KLE-443

AMI-989

这就是我所拥有的

from random import randint

print(randint(2,9))

2 个答案:

答案 0 :(得分:3)

尝试选择一个随机的字母串,然后是一个随机的数字串,然后用连字符连接它们:

import string, random
def pick(num):
    for j in range(num):
        print("".join([random.choice(string.ascii_uppercase) for i in range(3)])+"-"+"".join([random.choice(string.digits) for i in range(3)]))

因此:

>>> pick(5)
OSD-711
KRH-340
MDE-271
ZJF-921
LUX-920
>>> pick(0)
>>> pick(3)
SFT-252
XSL-209
MAF-579

答案 1 :(得分:2)

使用random.choice.format,您可以执行以下操作:

>>>import random, string
>>>"{0}-{1}".format(''.join(random.choice(string.ascii_uppercase) for x in range(3)),
                           ''.join(random.choice(string.digits) for x in range(3)))

<强>输出:

'FLL-242'