Python每天一个小程序

1 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。 类似于图中效果

#!/usr/bin/env python
# -*- coding: utf-8 -*-


from PIL import Image, ImageDraw, ImageFont

# 创建图片对象
headImage = Image.open(r"D:\\123.webp")

# 获取图片对象的宽高
w, h = headImage.size

# 创建字体对象
font = ImageFont.truetype(r'D:\\PYthonProject\\msyh.ttc', int(h / 4))

# 绘制圆形
ImageDraw.Draw(headImage).pieslice(
    [(w / 3 * 2, 0), (w, h / 3)], 0, 360, fill='red')
ImageDraw.Draw(headImage).text(
    (w * 0.76, h * 0.02), '3', font=font, fill='white')

# 展示绘制结果(使用系统默认的图片浏览器)
headImage.show()

# 保存绘制结果
headImage.save('D:/wode.jpg')

2 做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?

import random
import string


def GenKey(length):
    '''获取key的字符串的值'''

    chars = string.ascii_letters + string.digits
    return ''.join([random.choice(chars) for i in range(length)])


def SaveKey(content):
    '''将生成的值保存到文本文件中'''

    with open('Result Key.txt', 'a') as f:
        f.write(content)
        f.write('\n')


if __name__ == '__main__':
    for i in range(20):
        value = GenKey(20)
        print(value)
        SaveKey(value)

3 将 0001 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中。

import random
import string
import pymysql


def GenKey(length):
    chars = string.ascii_letters + string.digits
    return ''.join([random.choice(chars) for i in range(length)])


def SaveKey(content):
    with open('Result Key.txt', 'a') as f:
        f.write(content)
        f.write('\n')


def save_to_mysql(code):
    # 将数据保存到mysql数据库
    host = "127.0.0.1"
    user = "root"
    port = 3306
    pass_ = "111111"
    db = "active"
    #  设置数据库连接相关信息
    connect = pymysql.connect(
        host=host,
        port=port,
        user=user,
        password=pass_,
        db=db,
        charset='utf8')
    cursor = connect.cursor()
    #  链接数据库并设置游标
    sql = "insert into activeCode(code) VALUES ('%s')"
    data = code

    # 执行sql语句
    result = cursor.execute(sql % data)
    # 千万不要忘记做这一步的操作
    connect.commit()
    # print(result)
    # 关闭连接,游标和连接都要关闭
    cursor.close()
    connect.close()


if __name__ == '__main__':
    for i in range(20):
        value = GenKey(20)
        print(value)
        SaveKey(value)
        save_to_mysql(value)

第 0005 题: 你有一个目录,装了很多照片,把它们的尺寸变成都不大于 iPhone5 分辨率的大小。

 

相关推荐