最近在Github上发现一些挺不错的练习题,觉得挺有意思的,拿来练练手。会不间断更新。
Python 练习册,每天一个小程序
第 0000 题:
将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。 类似于图中效果
我用了PIL模块。PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。
我的编译环境为anaconda3 + pycharm
@requires_authorization
from PIL import Image, ImageDraw, ImageFont
def main():
#打开图片
im = Image.open('weixin.jpg')
#查看图片大小、格式和模式
print(im.size, im.format, im.mode)
im_size = im.size
#选择对应的字体大小
font_size = int(0.3*im_size[0])
#设置字体格式和字体大小,字体大小参数为整形
ft = ImageFont.truetype('C:\Windows\Fonts\Arial.ttf', size=font_size)
#(0.85*im_size[0],0)用来确定数字位置,'4'为要写入的数字
ImageDraw.Draw(im).text((0.8*im_size[0], 0), u'4', font=ft, fill='red')
#会直接调用Windows照片查看器来显示图片
im.show()
print('显示完成')
im.save('new.jpg')
print('新建并保存')
if __name__ == '__main__':
main()
原图片
效果图
参考教程
http://blog.csdn.net/icamera0/article/details/50762050
https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00140767171357714f87a053a824ffd811d98a83b58ec13000
第 0001 题:
做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?
开始用的是string模块生成大小写的字母加0到9数字的字符串,然后用random模块随机从改字符串中取数,后来发现有个叫uuid的模块,专门用来生产这个,uuid模块的介绍网上百度一大堆。
dis模块是用来看python变成汇编语言是怎么样的,毕竟学过单片机的汇编,挺感兴趣的。
@requires_authorization
import string
import random
import uuid
#import dis
def create_num(num, length=16):
result