python - 在 Python 中生成随机字符
问题描述
我想生成一个 16 字符的代码
代码有 5 个已知字符 代码有 3 位 代码必须是随机的
我做了什么 :
result1 = "NAA3U" + ''.join((random.choice(string.ascii_uppercase + string.digits) for codenum in range(11)))
解决方案
一种方法:
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)
样本运行的输出
NAA3U6MUGYRZ3DEX
如果代码需要包含至少 3 位数字,但不限于此阈值,只需更改此行:
# select 11 uppercase letters and digits at random
letters = random.choices(string.ascii_uppercase + string.digits, k=11)
这将从大写字母和数字中随机选择。
推荐阅读
- javascript - 检查数组中包含的所有接口是否具有所有字段 - Angular 8
- git - 无法使用 git+ssh 克隆
- python - 如何在python中计算栅格数据(.tiff)的R平方
- haskell - 是否可以在 Haskell (ghci) 中显示函数名称?
- cookies - Safari 13+ 在 iframe 中阻止跨域 cookie [适用于 safari 12、11 和 10]
- python - 获取错误将pdf提取到python中的文本
- mysql - Laravel - Mysql 从连接表中获取元素
- python - 在 pandas 数据框中找到最近的日期时间位置,从中减去 500 毫秒并将其存储在新的数据框中
- visual-studio-2010 - LNK2001 未解析的外部符号
- c# - 如果我有 .Net 4.8,是否需要安装 .Net 4.7