模拟随机验证码

网拷一篇中英文文本,去除标点空格作为验证码字符集。


  (本笔记适合对 python 的随机模块有一定了解的的 coder 翻阅)


【学习的细节是欢悦的历程】

  • Python 官网:https://www.python.org/

  • Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
    地址:https://lqpybook.readthedocs.io/


  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
            —— 华罗庚


  • My CSDN主页、My HOT博、My Python 学习个人备忘录
  • 好文力荐、 老齐教室
等风来,不如追风去……


网拷一篇中英文文本
模拟随机验证码
(去除标点空格作为验证码字符集)


本文质量分:

91
本文地址: https://blog.csdn.net/m0_57158496/article/details/131238963

CSDN质量分查询入口:http://www.csdn.net/qc


目 录

  • ◆ 模拟随机验证码
    • 1、字符集准备
    • 2、随机验证码生成
    • 3、输入验证码并与目标字符串比对
    • 4、通过验证
    • 5、代码运行效果截屏图片
    • 6、完整源码


◆ 模拟随机验证码


1、字符集准备


  从网页cv一段文本,用字符串str.replace() 方法我看一下去除标点,整理成随机验证的字符集。


s = '' # cv网页文本略。
for i in ' |\n。,;·!:,.?': # 遍历轮询去除标点。
    s = s.replace(i, '') # 去除不需要的字符。

2、随机验证码生成


  用随机模块方法 random.choices 选取四个字符随机验证码,并在终端屏幕打印出现。


tip = ''.join(choices(s, k=4)) # 随机选取s中的四个字符。
print(f"\n{'随机验证码输:':>11}{' '.join(tip)}\n{'':~^50}\n{'(输入不需空格,如1 2 3 4,输入1234)':^40}\n")

3、输入验证码并与目标字符串比对


if input(f"\n{'输入验证码:':>13}").strip() != tip:
    input(f"\n{'验证码输入错误!':^42}\n{'':~^50}\n{'任意键退出':^45}\n")
    exit() 
else:
    input(f"\n{'验证码输入正确。':^42}\n{'':~^50}\n{'任意键继续':^45}\n") 


4、通过验证



input(f"\n{'欢迎来到“精灵丛林”!':^42}\n{'':~^50}\n{'尽情享受欢乐时光':^42}\n") 


回页目录

5、代码运行效果截屏图片

模拟随机验证码_第1张图片
模拟随机验证码_第2张图片

  只有验证码正确才可以进入下一步,否则退出程序。


回页目录

6、完整源码

(源码较长,点此跳过源码)

#!/sur/bin/nve python
# coding: utf-8
from random import choices


s = '''英文诗歌短篇励志经典|英语诗歌经典100篇
咖啡苦,回味无穷;伤痛苦,心里铭记;磨难苦,励志人心;感情苦,更显真心;生活苦,倍加珍惜。苦,让我们感谢生活;苦,让我们看到真心:虽苦犹甜。小编精心收集了短篇励志经典英文诗歌,供大家欣赏学习!
短篇励志经典英文诗歌篇1
ON CHANGES
Irene Dunlap
Change is the only absolute
in the world,
the only thing
that you can depend on.
Nothing stays the same.
Tomorrow will come,
bringing with it
new beginnings and sometimes
unexpected endings.
You can hold on to the past
and get left in the dust;
or, you can choose to
jump on the ride of life
and live a new adventure
with perseverance
and an open mind.
论变化
艾琳·邓莱普陈采霞译
变化是世界上
惟一绝对的东西,
是惟一
你能相信的事情。
没有什么能一成不变,
明天将来临,
它会带来
新的开始,并且有时
还会带来意想不到的结局。
你可以抓住过去,
蒙受遗弃;
或者,你可以选择
跃上生命之车
进行一次新的冒险,
凭借坚持不懈
和广阔的胸怀。 短篇励志经典英文诗歌篇2
THE VALUE OF TIME
Katharine Sun'''

for i in ' |\n。,;·!:,.?':
    s = s.replace(i, '') # 不需要的字符。

tip = ''.join(choices(s, k=4)) # 随机选取s中的四个字符。
print(f"\n{'随机验证码输:':>11}{' '.join(tip)}\n{'':~^50}\n{'(输入不需空格,如1 2 3 4,输入1234)':^40}\n")

if input(f"\n{'输入验证码:':>13}").strip() != tip:
    input(f"\n{'验证码输入错误!':^42}\n{'':~^50}\n{'任意键退出':^45}\n")
    exit() 
else:
    input(f"\n{'验证码输入正确。':^42}\n{'':~^50}\n{'任意键继续':^45}\n") 


input(f"\n{'欢迎来到“精灵丛林”!':^42}\n{'':~^50}\n{'尽情享受欢乐时光':^42}\n") 


回页首

上一篇:  Python 中判定整数(直接数值判定,表达式判定)
下一篇: 

我的HOT博:

  本次共计收集 219 篇博文笔记信息,总阅读量 30.51w,平均阅读量 1392。已生成 21 篇阅读量不小于 3000 的博文笔记索引链接。数据采集于 2023-06-14 05:38:07 完成,用时 7 分 19.87 秒。


  1. 让QQ群昵称色变的神奇代码
    ( 55765 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122566500
    点赞:24   踩 :0  收藏:81  打赏:0  评论:17
    本篇博文笔记于 2022-01-18 19:15:08 首发,最晚于 2022-01-20 07:56:47 修改。
  2. pandas 数据类型之 DataFrame
    ( 8612 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124525814
    点赞:6   踩 :0  收藏:27  打赏:0  评论:0
    本篇博文笔记于 2022-05-01 13:20:17 首发,最晚于 2022-05-08 08:46:13 修改。
  3. 个人信息提取(字符串)
    ( 6572 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124244618
    点赞:1   踩 :0  收藏:11  打赏:0  评论:0
    本篇博文笔记于 2022-04-18 11:07:12 首发,最晚于 2022-04-20 13:17:54 修改。
  4. 罗马数字转换器|罗马数字生成器
    ( 6566 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122592047
    点赞:0   踩 :0  收藏:1  打赏:0  评论:0
    本篇博文笔记于 2022-01-19 23:26:42 首发,最晚于 2022-01-21 18:37:46 修改。
  5. Python字符串居中显示
    ( 6485 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122163023
    点赞:1   踩 :0  收藏:6  打赏:0  评论:1
    本篇博文笔记于 2021-12-26 23:35:29 发布。
  6. 斐波那契数列的递归实现和for实现
    ( 5358 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122355295
    点赞:4   踩 :0  收藏:2  打赏:0  评论:8
    本篇博文笔记于 2022-01-06 23:27:40 发布。
  7. Python列表(list)反序(降序)的7种实现方式
    ( 5168 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/128271700
    点赞:4   踩 :0  收藏:18  打赏:0  评论:8
    本篇博文笔记于 2022-12-11 23:54:15 首发,最晚于 2023-03-20 18:13:55 修改。
  8. 练习:字符串统计(坑:f‘string‘报错)
    ( 4940 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121723096
    点赞:0   踩 :0  收藏:1  打赏:0  评论:0
    本篇博文笔记于 2021-12-04 22:54:29 发布。
  9. 练习:尼姆游戏(聪明版/傻瓜式•人机对战)
    ( 4689 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121645399
    点赞:14   踩 :0  收藏:42  打赏:0  评论:0
    本篇博文笔记于 2021-11-30 23:43:17 发布。
  10. python清屏
    ( 4594 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/120762101
    点赞:0   踩 :0  收藏:5  打赏:0  评论:0
    本篇博文笔记于 2021-10-14 13:47:21 发布。
  11. 回车符、换行符和回车换行符
    ( 4547 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/123109488
    点赞:1   踩 :0  收藏:2  打赏:0  评论:0
    本篇博文笔记于 2022-02-24 13:10:02 首发,最晚于 2022-02-25 20:07:40 修改。
  12. 密码强度检测器
    ( 4004 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121739694
    点赞:1   踩 :0  收藏:4  打赏:0  评论:0
    本篇博文笔记于 2021-12-06 09:08:25 首发,最晚于 2022-11-27 09:39:39 修改。
  13. 练习:生成100个随机正整数
    ( 3978 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122558220
    点赞:1   踩 :0  收藏:6  打赏:0  评论:0
    本篇博文笔记于 2022-01-18 13:31:36 首发,最晚于 2022-01-20 07:58:12 修改。
  14. 罗马数字转换器(用罗马数字构造元素的值取模实现)
    ( 3891 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122608526
    点赞:0   踩 :0  收藏:0  打赏:0  评论:0
    本篇博文笔记于 2022-01-20 19:38:12 首发,最晚于 2022-01-21 18:32:02 修改。
  15. 练习:班里有人和我同生日难吗?(概率probability、蒙特卡洛随机模拟法)
    ( 3691 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124424935
    点赞:1   踩 :0  收藏:2  打赏:0  评论:0
    本篇博文笔记于 2022-04-26 12:46:25 首发,最晚于 2022-04-27 21:22:07 修改。
  16. 我的 Python.color() (Python 色彩打印控制)
    ( 3624 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/123194259
    点赞:2   踩 :0  收藏:7  打赏:0  评论:0
    本篇博文笔记于 2022-02-28 22:46:21 首发,最晚于 2022-03-03 10:30:03 修改。
  17. 练习:仿真模拟福彩双色球——中500w巨奖到底有多难?跑跑代码就晓得了。
    ( 3385 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/125415626
    点赞:3   踩 :0  收藏:4  打赏:0  评论:3
    本篇博文笔记于 2022-06-22 19:54:20 首发,最晚于 2022-06-23 22:41:33 修改。
  18. 聊天消息敏感词屏蔽系统(字符串替换 str.replace(str1, *) )
    ( 3208 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124539589
    点赞:3   踩 :0  收藏:2  打赏:0  评论:3
    本篇博文笔记于 2022-05-02 13:02:39 首发,最晚于 2022-05-21 06:10:42 修改。
  19. random.sample()将在python 3.9x后续版本中被弃用
    ( 3182 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/120657230
    点赞:0   踩 :0  收藏:0  打赏:0  评论:0
    本篇博文笔记于 2021-10-08 18:35:09 发布。
  20. Linux 脚本文件第一行的特殊注释符(井号和感叹号组合)的含义
    ( 3172 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/123087606
    点赞:0   踩 :0  收藏:4  打赏:0  评论:3
    本篇博文笔记于 2022-02-23 13:08:07 首发,最晚于 2022-04-04 23:52:38 修改。
  21. 练习:求列表(整数列表)平衡点
    ( 3079 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121737612
    点赞:0   踩 :0  收藏:0  打赏:0  评论:0
    本篇博文笔记于 2021-12-05 23:28:10 发布。
推荐条件 阅读量突破三千
(更多热博,请点击蓝色文字跳转翻阅)

回页首


老齐漫画头像

精品文章:

  • 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费下载。)
  • OPP三大特性:封装中的property
  • 通过内置对象理解python'
  • 正则表达式
  • python中“*”的作用
  • Python 完全自学手册
  • 海象运算符
  • Python中的 `!=`与`is not`不同
  • 学习编程的正确方法

来源:老齐教室


回页首

◆ Python 入门指南【Python 3.6.3】


好文力荐:

  • 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
  • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
  • 靠谱程序员的好习惯
  • 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归

CSDN实用技巧博文:

  • 8个好用到爆的Python实用技巧
  • python忽略警告
  • Python代码编写规范
  • Python的docstring规范(说明文档的规范写法)

你可能感兴趣的:(练习,python)