Bib*_*e12 4 python random python-3.x
我想生成一个 16 个字符的代码
代码有 5 个已知字符 代码有 3 位数字 代码必须是随机的
我做了什么 :
result1 = "NAA3U" + ''.join((random.choice(string.ascii_uppercase + string.digits) for codenum in range(11)))
Run Code Online (Sandbox Code Playgroud)
一种方法:
import random
import string
# select 2 digits at random
digits = random.choices(string.digits, k=2)
# select 9 uppercase letters at random
letters = random.choices(string.ascii_uppercase, k=9)
# shuffle both letters + digits
sample = random.sample(digits + letters, 11)
result = "NAA3U" + ''.join(sample)
print(result)
Run Code Online (Sandbox Code Playgroud)
样本运行的输出
NAA3U6MUGYRZ3DEX
Run Code Online (Sandbox Code Playgroud)
如果代码需要包含至少3位数字,但不限于此阈值,只需更改为这一行:
# select 11 uppercase letters and digits at random
letters = random.choices(string.ascii_uppercase + string.digits, k=11)
Run Code Online (Sandbox Code Playgroud)
这将从大写字母和数字中随机选择。