【python小练】0010
第 0010 题:使用 Python 生成类似于下图中的字母验证码图片
思路:
1. 随机生成字符串
2. 创建画布往上头写字符串
3. 干扰画面
code:
# codeing: utf-8from PIL import Image, ImageDraw, ImageFont, ImageFilter import string import randomdef get4char():return [random.choice(string.ascii_letters) for _ in range(4)] # 可以把‘_’换做任意字母,‘_’说明后续不用def getcolor():return random.randint(30, 100), random.randint(30, 100), random.randint(30, 100)def getpicture():width = 240height = 60image = Image.new('RGB', (width, height), (180, 180, 180))font = ImageFont.truetype('arial.ttf', 40)draw = ImageDraw.Draw(image)code = get4char()for ch in range(4):draw.text((60 * ch,30), code[ch], font=font, fill=getcolor())for _ in range(random.randint(1500, 3000)):draw.point((random.randint(0, width), random.randint(0, height)), fill=getcolor())image = image.filter(ImageFilter.BLUR)image.save("".join(code) + '.jpg')getpicture()
Notes:
1. string.ascii_letters,大小写英文字母集合字符串
2. random.choice():Return a random element from the non-empty sequence seq. If seq is empty, raises IndexError
.
3. random.randint():Return a random integer N such that a <= N <= b
. Alias for randrange(a, b+1)
.
4. image.new('RGB', (w,h), (r,g,b))
result:
我觉得自己应该去把tutorial从头到尾先看一遍= - =
下一篇写怎么识别验证码咯。
转载于:https://www.cnblogs.com/liez/p/5327577.html
【python小练】0010相关推荐
- python小练——下载指定url中的图片
python小练--下载指定url中的图片 #coding=gbk #download pictures of the url #useage: python downpicture.py www.b ...
- 【python小练】0014题 和 0015 题
第 0014 题: 纯文本文件 student.txt为学生信息, 里面的内容(包括花括号)如下所示: {"1":["张三",150,120,100],&quo ...
- randint( )函数生成随机数——python小练
import random rand=random.randint(1,100) print(rand) 导入random模块,调用randint( )生成随机数
- python有趣的小项目-10 个最值得 Python 新人练手的有趣项目
原标题:10 个最值得 Python 新人练手的有趣项目 作者 | Claire D. Costa 编译 | Wendy 有很多 Python 新手留言问:"Python 入门很久了,但项目 ...
- part1:推荐一些适合练手、课程设计、毕业设计的python小项目源码,无任何下载门槛
人生苦短,我用python,随着python这些年的流行,很多人开始使用python来实现各种功能.下面推荐一些适合用来练手.大学生课程设计作业.大学生毕业设计的python小项目,尤其适合新手,源码 ...
- Python小游戏,练手一定得试试,看似简单练习确实很实用
前言 大家好,我是辣条 记得很久之前有发布过这么一篇: 30个Python小游戏,上班摸鱼我能玩一天[内附源码]不能说是爆火,只能说是口口相传了.不过终究还是有不少刚开始接触Python的人还是一脸蒙 ...
- 练手的70个超火python小项目,小编建议收藏哦,送你们玩
相信正在学Python你一定为了没有练手项目而发愁,小编精心准备出了70个Python的练手项目,相信能够喂饱大伙儿吧!哈哈! 这里面的项目都很有代表性,不只是可以用来练手,而且在以后的工作中都有很实 ...
- 简易的Python小游戏,上班可玩一天,零基础小白可练手
文章目录 一.第一次写Python小游戏 二.对小游戏进行改进 1.对玩家进行提示 2.提供多次机会给玩家 3.每次答案应该是随机的 三.总结 一.第一次写Python小游戏 刚开始学习Python这 ...
- 30个Python小游戏,小白练手,我都能玩一天
大家好,我是雨雨~ 今天给大家带来30个py小游戏,一定要收藏! 全部源码都整理好了 小游戏源码腾讯文档-在线文档https://docs.qq.com/doc/DRnZDTnFGVUFMc3FL 有 ...
- python小项目-python 小项目
广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 事先录制好一段音频,客户接通电话后,自动播放https:blog.csd ...
最新文章
- 这就是我为什么推荐使用var aa = for (var i = 0, l = aa.length; i < l; i++) {var a = aa[i];}循环的原因,每秒最快可以执行4000+次!
- 人工智能算法通俗讲解系列(二):逻辑回归
- EMNLP 2021 | 大道至简:微软提出可生成高质量文本表示的预训练语言模型
- JEMTER简单的测试计划
- 慈不掌兵,义不行贾,烂好人难成大业!
- centos8 装docker 问题
- [SceneKit] 不会 Unity3D 的另一种选择
- Android 应用开发(50)---GridLayout(网格布局)
- String reverse方法
- 如何在iview中使用rander函数渲染Select组件和input组件
- 从想当亿万富翁到职场、创业、爱情、抑郁、学医学武,我的程序人生
- 通信专业顶刊_通信类权威SCI期刊(部分)
- 基于中移物联网MQTT协议的ESP8266远程开机实例
- O2O之下,腾讯觊夺移动支付大数据,手Q支付出战支付宝
- 2022年,计算机保研er选择计科还是软工?
- Oracle CTAS
- HCIE(M-LAG)
- VSCode详细安装教程(Windows 7)附安装包
- 白话 贝叶斯公式_通俗易懂!白话朴素贝叶斯
- Oracle触发器创建定时任务