Show me the code之Python练习册 Q1~3 优惠券

"""
    问题:将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果
    常用库:图像处理的库:PIL
        安装pillow库:
        1、http://www.lfd.uci.edu/~gohlke/pythonlibs/下载 Pillow-3.2.0-cp35-cp35m-win_amd64.whl
        2、使用命令pip install Pillow-3.2.0-cp35-cp35m-win_amd64.whl进行安装
"""

from PIL import Image, ImageFont, ImageDraw

def addtodo(path, num):
    # 新路径
    index = path.rfind('.')
    targetpath = path[:index]+'_num'+path[index:]
    # 读取图片
    try:
        img = Image.open(path)
        # 获取图片尺寸
        x, y = img.size
        # Windows :file:`fonts/` directory.
        myfont = ImageFont.truetype("verdanaz.ttf", 30)
        ImageDraw.Draw(img).text((2 * x / 3, 0), str(num), fill='red', font=myfont)
        img.save(targetpath)
    except FileNotFoundError:
        print('no file')

if __name__ == '__main__':
    addtodo('d://test.jpg', 4)
"""
    问题:做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)
"""

import random

def getcode(num):
    for i in range(num):
        choiceCode = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C']
        # 随机生成10个数字
        code = [random.choice(choiceCode) for i in range(10)]
        print(''.join(code))

if __name__ == '__main__':
    getcode(20)
"""
    问题:将 0001 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中
    安装pillow库:
    1、http://www.lfd.uci.edu/~gohlke/pythonlibs/下载 mysql_connector_python-2.0.4-py2.py3-none-any.whl
    2、使用命令pip install mysql_connector_python-2.0.4-py2.py3-none-any.whl进行安装
"""
import mysql.connector
import random

def save(num):

    conn = mysql.connector.connect(host='localhost', user='root', password='123456', database='ShowMeTheCode')
    cursor = conn.cursor()
    for i in range(num):
        choiceCode = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C']
        # 随机生成10个数字
        code = [random.choice(choiceCode) for i in range(10)]
        sql = 'insert into code(code) values(%s)'
        code = ''.join(code)
        try:
            cursor.execute(sql, [code])
        except BaseException as e:
            print(e)
            break

    # 提交并关闭连接
    conn.commit()
    cursor.close()
    conn.close()
    print('完成')

if __name__ == '__main__':
    save(200)
"""
    问题:将 0001 题生成的 200 个激活码(或者优惠券)保存到 Redis 非关系型数据库中
    安装pillow库:
    1、http://www.lfd.uci.edu/~gohlke/pythonlibs/下载 redis-2.10.3-py2.py3-none-any.whl
    2、使用命令pip install redis-2.10.3-py2.py3-none-any.whl进行安装
"""

import redis
import random

def save(num):
    r = redis.StrictRedis(host='192.168.74.251', port=6379, db=0)
    for i in range(num):
        choiceCode = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C']
        # 随机生成10个数字
        code = [random.choice(choiceCode) for i in range(10)]
        code = ''.join(code)
        # 保存到redis
        r.lpush('code', code)

    #打印redis的数据
    for i in r.lrange('code', 0, -1):
        print(i)

if __name__ == '__main__':
    save(200)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值