1. 题目
第 0001 题:做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)
2. 生成结果
YB82-U5DK-698Y-EZLP-XM5I
M97E-FP5O-U4DF-OVFJ-LH79
HR01-EOE5-WJU2-KF2N-K1L5
需要生成一串由大写字母和数字组成的不重复字符串,每隔4个以 ‘-’ 隔开。
3. 具体实现
实现思路a:利用Python的random库随机生成大写字母和数字,拼接起来。
# -*- coding:utf-8 -*-
import random
def rand_code(num, length):
result = []
sequence = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
for i in range(0, num):
code_str = [random.choice(sequence) for k in range(length)]
code_str = ''.join(code_str)
for j in range(4, length, 5):
code_str = code_str[:j] + '-' + code_str[j:]
if code_str not in result:
result.append(code_str)
return result
if __name__ == '__main__':
print(rand_code(200, 20))
实现思路b:利用Python的uuid库直接生成激活码。
# -*- coding:utf-8 -*-
import uuid
def create_code(num, length):
result = []
for i in range(0, num):
code_str = str(uuid.uuid4()).replace('-', '')[:length].upper()
for j in range(4, length, 5):
code_str = code_str[:j] + '-' + code_str[j:]
if code_str not in result:
result.append(code_str)
return result
if __name__ == '__main__':
print(create_code(200, 20))
网友评论