我想知道如何在python 3.4.3中创建一个可以生成两个3个字符长字符串的代码。一位数0 - 9,以及字母表中的其他大写字母。它们之间也必须有一个划线。
示例:
MUS-875
KLE-443
AMI-989
这就是我所拥有的
from random import randint
print(randint(2,9))
答案 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'