Python 练习册,每天一个小程序,第0001题
"""
使用 Python 如何生成 200 个激活码(或者优惠券)
解题思路
激活码是字母和数字的随机组合,可能是大写,也可能是小写,所以激活码是26个大小写字母和10个数字的随机组合。以生成一个16位的激活码(区分大小写)为例
,必然会用到python 的random模块,可以将26个大小写字母和10个数字放在一个集合中,用random随机去取集合中的元素。Random模块相关可
"""
import random
import pymysql
conn = pymysql.connect(
host = "127.0.0.1",
port = 3306,
user="root",
passwd="x2014.mc",
db="fiction",
charset="utf8"
)
cur = conn.cursor()
str_list = []
#生成26个小写字母
for x in range(65,91):
a=str(chr(x))
str_list.append(a)
#生成10个数字
for x in range(10):
str_list.append(str(x))
#生成随机16位激活码
def gen_code():
s =''
for x in range(16):
a = random.choice(str_list)
s = s+a
return s
for x in range(200):
code = gen_code()
#插入数据库
sql="insert fiction.coupon (id,code) values ('%d','%s')" % (x,code)
print (sql)
cur.execute(sql)
cur.close()
conn.commit()
conn.close()