您的位置:首页 > 编程语言 > Python开发

练习001-002

2016-04-01 21:55 716 查看
题目如下:

第 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 python mysql