模擬生成微軟序列號
描述
微軟產品一般都一個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)