模拟生成微软序列号(Python123)
模拟生成微软序列号
描述
微软产品一般都一个25位的序列号,是用来区分每份微软产品的产品序列号。产品序列号由五组被“-”分隔开,由字母数字混合编制的字符串组成,每组字符串是由五个字符串组成。如:
36XJE-86JVF-MTY62-7Q97Q-6BWJ2
每个字符是取自于以下24个字母及数字之中的一个:
B C E F G H J K M P Q R T V W X Y 2 3 4 6 7 8 9
采用这24个字符的原因是为了避免混淆相似的字母和数字,如I 和1,O 和0等,减少产生不必要的麻烦。
随机数种子函数语法为:random.seed(n)
输入格式
在2行中分别输入一个正整数:
第1个整数,代表要生成的序列号的个数
第2个正整数代表随机数种子
输出格式
指定个数的序列号
代码
import random
number, seed = [input() for _ in range(2)]
random.seed(seed) # 随机种子
l1 = 'B C E F G H J K M P Q R T V W X Y 2 3 4 6 7 8 9'.split() # 构建字符列表,通过空格分开
for j in range(int(number)): # 生成number个序列号
text = ''
for i in range(1, 25 + 1):
text += random.choice(l1) # 列表中随机挑选一个字符
if i % 5 == 0 and i != 25: # 最后一个字符时不添加'-',每个五个字符添加'-'
text += '-'
print(text)