Python3.7 练习题(-) 如何使用Python生成200个优惠卷(激活码)


# 如何使用Python生成200个优惠卷(激活码)
import random
import string

# string.ascii_letters 26个大小写
# string.digits 0-9数字
# 获得激活码中的字母和数字组合
chars = string.ascii_letters + string.digits
print(chars)


# 获得4位数激活码
def getRandom():
    return "".join(random.sample(chars, 4))


print(getRandom())


# 获得4列4位数激活码 以"-"串联
def concatenate(group):
    return "-".join([getRandom() for i in range(group)])


print(concatenate(4))


# 生成n组4列的16位激活码
def generate(n):
    return [concatenate(4) for i in range(n)]


if __name__ == '__main__':
    print(generate(5))

运行结果:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
BE9v
Ma09-WGYp-edkj-u6lT
['Y94h-HMkg-53rl-fVJZ', 'BZF0-pJ4w-wq9N-Wdnj', 'RxhU-Jhgm-tar7-Deo2', 'EDJU-sWJo-MS8Y-L7Du', 'H3GX-puHw-MbOf-f3Nl']

知识要点:

   random.sample  获取指定长度的随机序列

  string.ascii_letters Python3.7 26个大小写字母字符串

  string.digits 0-9数字字符串

  join 将序列中的元素以指定字符连接生成新的字符串

原文地址:https://www.cnblogs.com/dangzhengtao/p/9605000.html