[python每日一练]--0001:生成激活码

题目链接:https://github.com/Show-Me-the-Code/show-me-the-code
我的github链接:https://github.com/wjsaya/python_spider_learn/tree/master/python_daily
第 0001 题:做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?


思路

  1. 循环,在count条件内调用length的循环来生成key。
  2. 内循环,length条件下随机生成一个字符并追加到code变量。
  3. 得到一个key之后,保存到文件

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#coding: utf-8
#第 0001 题:做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)
#Auther: wjsaya
from random import choice
import string
import os
def main():
if os.path.exists("./activecode.code"):
print ("已经存在activecode.code文件,已经删除")
os.remove("./activecode.code")
dict = string.ascii_letters[:]
#设定字典为'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
count = input("请输入激活码个数:")
if count == "":
count = "1"
length = input("请输入激活码长度:")
if length == "":
length = "8"
for i in range(0,int(count)):
code = get_code(dict, length)
with open ('activecode.code', 'a+') as f:
f.write(code+'\n')
#通过count限制激活码个数,循环调用get_code来计算激活码
def get_code(dict, length):
#根据给定字典,长度来得出激活码
code = ""
for i in range(0,int(length)):
code = code+str(choice(dict))
return code
if __name__ == "__main__":
main()

效果图

0001

0%