题目如下:
第 0001 题:做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?
第 0002 题:将 0001 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中。
题目解析:
0001题就是随机产生200个激活码,我的方法比较简单,就是在一个长的字符串中随机抽取一定的数,组成一个新的字符串,即为随机码
0002题就是简单建立一个数据库,在建立一个表,表中只需要有id和随机码,然后插入数据就可以,将0001的代码,作为包导入,然后调用方法
代码如下:
#!/usr/bin python
import random
str="qwertyuiopasdfghjklzxcvbnm!@#$%^&*()_+-=1234567890"
a={}
def activation_code(num,long):
for i in range(1,num+1):
b=[]
for j in range(1,long+1):
b.append(random.choice(str))
a[i]=''.join(b)
# 将列表转换成字符串
return a
if __name__=="__main__":
c=activation_code(200,10)
#!/usr/bin python
import one_copy
import MySQLdb
c={}
values=[]
try:
c=one_copy.activation_code(200,10)
conn=MySQLdb.connect(host='localhost',user='root',passwd='qwer1234',port=3306)
cur=conn.cursor()
#cur.execute('create database if not exists python')
conn.select_db('python')
#cur.execute('create table code(id int,info varchar(20))')
for i in range(1,201):
values.append((i,c[i]))
cur.executemany('insert into code values(%s,%s)' ,values)
conn.commit()
cur.close()
conn.close()
except MySQLdb.Error,e:
print "Mysql Error %d: %s" %(e.args[0],e.args[1])
注意:001的代码要和002的代码要在同一个文件夹下,才可以直接导入
如果不在同意目录,可以采用以下代码,但这个代码要和002的放在一起
import os,sys
base_path=os.path.dirname(os.path.dirname(__file__))
sys.path.append(base_path)
( 写于2016年4月1日,http://blog.csdn.net/bzd_111)