第 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相关推荐

  1. python小练——下载指定url中的图片

    python小练--下载指定url中的图片 #coding=gbk #download pictures of the url #useage: python downpicture.py www.b ...

  2. 【python小练】0014题 和 0015 题

    第 0014 题: 纯文本文件 student.txt为学生信息, 里面的内容(包括花括号)如下所示: {"1":["张三",150,120,100],&quo ...

  3. randint( )函数生成随机数——python小练

    import random rand=random.randint(1,100) print(rand) 导入random模块,调用randint( )生成随机数

  4. python有趣的小项目-10 个最值得 Python 新人练手的有趣项目

    原标题:10 个最值得 Python 新人练手的有趣项目 作者 | Claire D. Costa 编译 | Wendy 有很多 Python 新手留言问:"Python 入门很久了,但项目 ...

  5. part1:推荐一些适合练手、课程设计、毕业设计的python小项目源码,无任何下载门槛

    人生苦短,我用python,随着python这些年的流行,很多人开始使用python来实现各种功能.下面推荐一些适合用来练手.大学生课程设计作业.大学生毕业设计的python小项目,尤其适合新手,源码 ...

  6. Python小游戏,练手一定得试试,看似简单练习确实很实用

    前言 大家好,我是辣条 记得很久之前有发布过这么一篇: 30个Python小游戏,上班摸鱼我能玩一天[内附源码]不能说是爆火,只能说是口口相传了.不过终究还是有不少刚开始接触Python的人还是一脸蒙 ...

  7. 练手的70个超火python小项目,小编建议收藏哦,送你们玩

    相信正在学Python你一定为了没有练手项目而发愁,小编精心准备出了70个Python的练手项目,相信能够喂饱大伙儿吧!哈哈! 这里面的项目都很有代表性,不只是可以用来练手,而且在以后的工作中都有很实 ...

  8. 简易的Python小游戏,上班可玩一天,零基础小白可练手

    文章目录 一.第一次写Python小游戏 二.对小游戏进行改进 1.对玩家进行提示 2.提供多次机会给玩家 3.每次答案应该是随机的 三.总结 一.第一次写Python小游戏 刚开始学习Python这 ...

  9. 30个Python小游戏,小白练手,我都能玩一天

    大家好,我是雨雨~ 今天给大家带来30个py小游戏,一定要收藏! 全部源码都整理好了 小游戏源码腾讯文档-在线文档https://docs.qq.com/doc/DRnZDTnFGVUFMc3FL 有 ...

  10. python小项目-python 小项目

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 事先录制好一段音频,客户接通电话后,自动播放https:blog.csd ...

最新文章

  1. 这就是我为什么推荐使用var aa = for (var i = 0, l = aa.length; i < l; i++) {var a = aa[i];}循环的原因,每秒最快可以执行4000+次!
  2. 人工智能算法通俗讲解系列(二):逻辑回归
  3. EMNLP 2021 | 大道至简:微软提出可生成高质量文本表示的预训练语言模型
  4. JEMTER简单的测试计划
  5. 慈不掌兵,义不行贾,烂好人难成大业!
  6. centos8 装docker 问题
  7. [SceneKit] 不会 Unity3D 的另一种选择
  8. Android 应用开发(50)---GridLayout(网格布局)
  9. String reverse方法
  10. 如何在iview中使用rander函数渲染Select组件和input组件
  11. 从想当亿万富翁到职场、创业、爱情、抑郁、学医学武,我的程序人生
  12. 通信专业顶刊_通信类权威SCI期刊(部分)
  13. 基于中移物联网MQTT协议的ESP8266远程开机实例
  14. O2O之下,腾讯觊夺移动支付大数据,手Q支付出战支付宝
  15. 2022年,计算机保研er选择计科还是软工?
  16. Oracle CTAS
  17. HCIE(M-LAG)
  18. VSCode详细安装教程(Windows 7)附安装包
  19. 白话 贝叶斯公式_通俗易懂!白话朴素贝叶斯
  20. Oracle触发器创建定时任务

热门文章

  1. 基于RPM包的LAMP搭建
  2. Unity3D游戏开发从零单排(三) - 极速创建狂拽酷炫的游戏地形
  3. win7系统中任务计划程序的使用与查询
  4. ASP.NET FileUpload用法
  5. 走出软件质量困境的指导性思想
  6. asx根据时间点播放
  7. [环境搭建]Windows下安装Ruby和Jekyll
  8. android mp3文件图片,android 完美获取音乐文件中的专辑图片并显示
  9. ARC070D No Need
  10. webpack5+vue3搭建h5项目模板-(一)-基础配置