生成两个中间有破折号的随机字符串

Generate two random strings with dash in between

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

示例:

MUS-875

KLE-443

AMI-989

这就是我的

from random import randint

print(randint(2,9))

使用 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'

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

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