详细题目在https://github.com/Yixiaohan/show-me-the-code上。此次是0001题,使用 Python 生成 200 个激活码。
总的想法就是产生随机字符,再设置格式,最后0存入文件,没有考虑随机生成后出现多个相同字符的情况。
# -*- coding: utf-8 -*-
import string
import random
#设置激活码存放文件名,设置每位激活码的取值域
file_addr = 'Key.txt'
Field = string.digits + string.letters
#根据用户输入,产生对应数量的激活码
def createKeys(number, length):
keys = []
for i in range(0,int(number)):
tmp = createKey(length)
if not tmp in keys:
keys.append(tmp)
with open(file_addr,'w') as file:
for item in keys:
file.write(item+'\n')
#产生单个激活码,每四位之间用“-”相连
def createKey(length):
key = ''
for counter in range(1,int(length) + 1):
key += (random.choice(Field))
if counter % 4 == 0 and counter != 0 and counter != int(length):
key += '-'
return key
#程序入口
print u"""
---------------------------------------
功能:输入生成激活码的数量和长度后,会产生对应数字的激活码,并保存在当前目录下
---------------------------------------
"""
number = raw_input("Please input the number of keys:")
len = raw_input("Please input the length of keys:")
createKeys(number,len)