做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?

描述很简单,问题是验证码长什么样,那就按照比较传统的看吧。验证码可以认为是由26个字母大小写再加上数字组成的。当然是随机选取了,然后长度什么的都不是问题。

__author__ = 'zynick'

import string, random

content = string.ascii_letters+string.digits

def genPiece(len):
    return  ''.join(random.sample(content,len))

def genCode(block,len):
    return '-'.join([genPiece(len) for i in range(block)])

def generate(num,block,len):
    return [genCode(block,len) for i in range(num)]
#参数:生成验证码的数量,每个验证码分几块,每块多少个元素
for i in generate(200,4,5):print(i)

结果类似下面这样


2015年7月26日 15:55 更新

将 0001 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中。
在前面的基础上将print()换成保存到数据库的操作即可:

import mysql.connector
conn = mysql.connector.connect(host = 'localhost', user = 'root', passwd='passwd', db = 'zynick')
cursor = conn.cursor()

#参数:生成验证码的数量,每个验证码分几块,每块多少个元素
i = 1
for code in generate(200,4,5):
    print(str(i)+'-'+code)
    sql = "insert into test_activation_code(count,content) values('%d','%s')" % (i,code)
    cursor.execute(sql)
    i +=1
conn.commit()
cursor.close()
conn.close()
print('OK!')
count content
1 OM4t-GY1Xb-ZMz5H-cbpCT
2 WuNvj-YmRQN-0YPsA-akfLE