python26个练习题及代码

上传人:我*** 文档编号:135970281 上传时间:2020-06-21 格式:DOC 页数:8 大小:264KB
返回 下载 相关 举报
python26个练习题及代码_第1页
第1页 / 共8页
python26个练习题及代码_第2页
第2页 / 共8页
python26个练习题及代码_第3页
第3页 / 共8页
python26个练习题及代码_第4页
第4页 / 共8页
python26个练习题及代码_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《python26个练习题及代码》由会员分享,可在线阅读,更多相关《python26个练习题及代码(8页珍藏版)》请在金锄头文库上搜索。

1、*第 0000 题:* 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。类似于图中效果例1:# -*- coding: UTF-8 -*- add by zxlfrom PIL import Image,ImageDraw,ImageFont,ImageColor #def add_num(img): # 创建一个Draw对象 draw = ImageDraw.Draw(img) # 创建一个 Font # myfont = ImageFont.truetype(C:/windows/fonts/Arial.ttf, size=40) myfont

2、= ImageFont.truetype(arial.ttf, size=40)#change by zxl 字体ImageFont方法 fillcolor = ImageColor.colormap.get(red) #颜色ImageColor方法 width, height = img.size #Image方法 #draw.text(width-30, 0), 1, font=myfont, fill=fillcolor) draw.text(width - 10, 0), 1, font=myfont, fill=fillcolor) #ImageDraw方法 img.save(wid

3、th - 10.jpg, jpeg)#Image方法 return 0if _name_ = _main_: image = Image.open(test.jpg) #Image方法 add_num(image)例2:使用方法:执行py,将根目录下的目标文件logo.jpg右上角加上红色数字后输出到根目录的output.jpg文件中 0000.图片右上角加数字.py#!/usr/bin/env python#coding: utf-8myPath = /home/bill/Desktop/fontPath = /usr/share/fonts/truetype/ttf-devanagari-

4、fonts/inputFile = logo.jpgoutputFile = output.jpgimport Image, ImageFont, ImageDraw#打开图片im = Image.open(myPath + inputFile)draw = ImageDraw.Draw(im)#根据图片大小确定字体大小fontsize = min(im.size)/4#加文字font = ImageFont.truetype(fontPath + kalimati.ttf, fontsize)draw.text(im.size0-fontsize, 0), 5, font = font, f

5、ill = (256,0,0)im.save(myPath + outputFile,jpeg)*第 0001 题:* 做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用*生成激活码*(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?例1:# -*- coding: UTF-8 -*- add by zxldef gen_code(length=8): 将09,az,AZ保存到list中,用random.sample从list中取固定位数 code_list = for i in range(10): code_list.append(st

6、r(i) # print i for i in range(65, 91): code_list.append(chr(i) # print chr(i) for i in range(97, 123): code_list.append(chr(i) myslice = random.sample(code_list, length) veri_code = .join(myslice) return veri_code例2:#!/usr/bin/env python#coding: utf-8import string, random#激活码中的字符和数字field = string.le

7、tters + string.digits#获得四个字母和数字的随机组合def getRandom(): return .join(random.sample(field,4)#生成的每个激活码中有几组def concatenate(group): return -.join(getRandom() for i in range(group)#生成n组激活码def generate(n): return concatenate(4) for i in range(n)if _name_ = _main_: print generate(200)生成的大概是这样子的:*第 0002 题:* 将

8、0001 题生成的 200 个激活码(或者优惠券)保存到 *MySQL* 关系型数据库中。 例1:import mysql.connectordef activationcode2sql(): #打开数据库连接 db=mysql.connector.connect(user=root,password=root,host=localhost,database=words) #使用cursor()方法创建一个cursor对象,来管理查询 cur=db.cursor() #使用execute()方法执行SQL,如果存在则删除 cur.execute(drop table if exists act

9、_code) #使用预处理创建表 cur.execute( create table act_code (id int auto_increment primary key,code varchar(10) f=open(Activation_code.txt) for line in f.readlines(): cur.execute(insert into act_code(code) values(%s),line.strip() f.close() cur.close()if _name_=_main_: activationcode2sql()例2:步骤:首先安装MySQLdb,用

10、pip安装即可然后了解下MySQLdb的操作在代码中引入该库连接数据库,写入数据,关闭连接0002.MySQL操作.py#!/usr/bin/env python#coding: utf-8import MySQLdbimport gennerate_codeHOST = localhostUSER = rootPASSWORD = 000oooPORT = 3306DB = python#连接数据库conn = MySQLdb.connect( host =HOST, user=USER, passwd=PASSWORD, db=DB, port=PORT)cur = conn.cursor

11、()#生成200组激活码codelist = gennerate_code.generate(200)#将生成的激活码插入到表中for i in xrange(200): sql = INSERT INTO code (code) VALUES (%s) % codelisti cur.execute(sql)mit()cur.close()conn.close()其中gennerate_code是Python Show-Me-the-Code 第 0001 题 生成激活码 中的代码*第 0003 题:* 将 0001 题生成的 200 个激活码(或者优惠券)保存到 *Redis* 非关系型数

12、据库中。跟0002题相似,只不过是把关系型数据库换成了非关系型数据库。 步骤:首先安装Redis和库,用pip安装即可打开radis server然后了解下Redis的操作在代码中引入该库连接数据库,写入数据,保存Python连接redis很方便,操作也跟redis-cli差不多。因为生成的激活码应该是不重复的,所以我选择用set这个数据结构保存redis的set数据类型常用操作有:sadd key member 往集合中key插入成员member,返回实际插入的成员smembers key获取与该key关联的set中所有的成员。sismember key member 检查member是否是

13、集合key中的成员 是的话返回1scard key 获取key中成员的数量0003.Redis操作.py#!/usr/bin/env python#coding: utf-8import redisimport gennerate_codeHOST = localhostPORT = 6379#连接到数据库r = redis.Redis(HOST,PORT)#生成200组激活码codelist = gennerate_code.generate(200)#将生成的激活码存入数据库中for i in xrange(200): r.sadd(code,codelisti)r.save()中genn

14、erate_code是Python Show-Me-the-Code 第 0001 题 生成激活码 中的代码*第 0004 题:* 任一个英文的纯文本文件,统计其中的单词出现的个数。思路:用正则表达式匹配响应的单词和数字,然后让Counter计算单词的词频,再用most_common方法返回一个按照词频排序的包含该词语和该词语出现的次数的元组的列表。0004.统计单词.py#!/usr/bin/env python#coding: utf-8import refrom collections import CounterFILESOURCE = /home/bill/Desktop/testarticledef getMostCommonWord(articlefilesource):

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号