每次生成随机字符串

时间:2019-06-09 23:02:24

标签: python python-3.x

我想使用python生成序列号,但是遇到了问题。

我有两种不同的方式来生成我想同时使用的序列号。 (下面的示例)。

charList = ["A", "B", "C", "D", "C", "E", "F", "G", "H", "I", "J", "K", "L", "M",
"O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "1", "2", "3", "4", "5"
"6", "7", "8", "9"]

serial1 = "200" + random.choice(charList)
serial2 = "300" + random.choice(charList)

for i in range (20):
    print(serial1)

我希望打印输出的是serial1和serial2的混合输出,所以您可能会得到如下信息:

200A
200B
300K
300N
300Z
300C
2001
300K

2 个答案:

答案 0 :(得分:3)

您可以尝试选择。

import random

charList = ["A", "B", "C", "D", "C", "E", "F", "G", "H", "I", "J", "K", "L", "M",
"O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "1", "2", "3", "4", "5"
"6", "7", "8", "9"]

def serial(charList):
    return random.choice(["200", "300"]) + random.choice(charList)

for i in range (20):
    print(serial(charList))

这将生成您的序列号列表。

答案 1 :(得分:2)

像这样吗?

import random
import string

def get_random_pattern():
    return random.choice(["200", "300"])

for _ in range(20):
    print(get_random_pattern() + random.choice(string.ascii_uppercase + string.digits))

这应该是您想要的结果。

string模块非常方便获得所有字母/数字的可迭代值:)

接着,您的代码违反了某些PEP8规则,例如您的命名约定。 在python中,相对于camelCase,我们更喜欢使用snake_case。