题目传送口:https://github.com/Yixiaohan/show-me-the-code
第 0001 题: 做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?
附加:将生成的激活码按照一定格式使用 '-' 字符相连接
例如:随机激活码为: M8dwpQlA1fwc 按照4个字母一组分为三组后: M8dw-pQlA-1fwc
代码如下:
import random import string def Key(length): #生成随机激活码 f = open('txt/Key.txt', 'a') chars = string.ascii_letters + string.digits f.write(''.join([random.choice(chars) for i in range(length)])) f.write('\n') f.close() return ''.join([random.choice(chars) for i in range(length)]) def UpDate(): #进行附加处理 for line in open("txt/Key.txt","r"): A= list(line) for i in range(3): #x个段 range(x-1)个'-' A.insert(i*5, '-') #x个字母 i=i*x+1 a = ''.join(A) b=a[1:] print(b) f=open('txt/Result Key.txt','a') f.write(b) f.close() if __name__ == '__main__': for i in range(20): #生成多少条 Key(12) #激活码长度 UpDate()
先将随机激活码生成保存到一个txt文件中,(这里使用了 '' .join()这个方法,它可以使用前边' '的内容来连接括号里的东西。) 然后在主函数中循环你想要生成激活码的个数。在附加内容,先将txt文件中的激活码使用list()方法转化为列,然后使用insert()按照一定循环,向其中插入'-'字符。由于会在首位插入一个,所以取它从第二位开始后的内容保存到Result Key.txt中。
我觉得这个法子便于理解,但是好像不太好的样子。希望有大牛可以指点指点。