模拟随机验证码

news2024/11/17 1:43:23

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


  (本笔记适合对 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、代码运行效果截屏图片

在这里插入图片描述
在这里插入图片描述

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


回页目录

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规范(说明文档的规范写法)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/655226.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在IDEA上实现JDBC编程

💕人生在世,不如意事常八九,若把烦恼全都写在纸上,时间长了纸也会烦。所以,没事的时候给自己多一些微笑,少一些烦恼。💕 🐼作者:不能再留遗憾了🐼 &#x1f3…

【备战秋招】每日一题:4月23日美团春招第二题:题面+题目思路 + C++/python/js/Go/java带注释

为了更好的阅读体检,为了更好的阅读体检,,可以查看我的算法学习博客第二题-制作骰子 在线评测链接:P1246 题目内容 塔子哥是一个喜欢手工制作的人,他经常用各种材料制作一些有趣的物品。他最近想要制作一个骰子,但是…

Oracle11gRAC安装JVM组件

目录: 安装前检查:安装JVM组件:方式一(图形化安装)方式二(执行脚本安装) 检查DB JVM状态脚本 安装前检查: 检查角色: select * from dba_roles where ROLE in (JAVAIDP…

分布式安装配置spark-3.2.3

Spark是一个基于内存的大数据计算框架,可以与Hadoop集成,提供更快速的数据处理能力。本文将介绍如何在三个Ubuntu系统上搭建一个Spark集群。 主要步骤包括: 准备工作:下载安装包,设置环境变量,解压安装包…

基于Elasticsearch与Hbase组合框架的大数据搜索引擎

本项目为学校大数据工程实训项目,共开发4周,答辩成绩不错。代码仓库放文章尾,写的不好,代码仅供参考。 搜索 对于结构化数据,因为它们具有特定的结构,所以我们一般都是可以通过关系型数据库(M…

【读书笔记】《房思琪的初恋乐园》- 林奕含

文章目录 第一章 乐园第二章 失乐园 第一章 乐园 钱爷爷说:“两个小美女有心事啊?”怡婷最恨人家叫她们两个小美女,她很这种算术上的好心。 在外人看来,女生无论长得漂亮还是长得不怎么样都是一种原罪。或者正如上野千鹤子所说那样…

pocketgl

pocketgl支持在自己的web页面集成类似 Shadertoy、 Threejs 等基于webGL 的渲染图形窗口, 并且拥有shader代码高亮编辑器支持实时修改和预览。 其自带的mesh包含两个Sphere 和 Teaport, 同时支持上床自定义的网格 和 背景天空盒。其既支持像Shadertoy 这种只包含fra…

[元带你学: eMMC协议详解 13] 数据读(Read) 写(Write) 详解

依JEDEC eMMC 5.1及经验辛苦整理,付费内容,禁止转载。 所在专栏 《元带你学: eMMC协议详解》 内容摘要 全文 4700字, 主要内容 1. 数据读取 2. 块读取操作 3. 数据写 4.块写操作 参考 1. 数据读取 当没有数据传输时,DATO-D…

Python使用happybase写入HBase

HBase是一个分布式的、面向列的NoSQL数据库,可以存储大量的非结构化或半结构化的数据。tif是一种常见的影像文件格式,可以存储多波段的栅格数据。本文将介绍如何使用Python的happybase模块和gdal模块,从tif格式的影像文件中读取数据&#xff…

排序算法的奇妙冒险

排序算法的奇妙冒险 一.排序的概念1.1 排序的定义1.2 排序的稳定性1.3 排序的内排序和外排序 二.插入排序2.1 直接插入排序2.2 希尔排序 三.选择排序3.1直接选择排序3.2 堆排序 四.交换排序4.1 冒泡排序4.2 快速排序**选取基准值的方法**快速排序的优化非递归实现快速排序 五.归…

Web3简述MetaMask并演示谷歌安装MetaMask扩展程序方式

Web3到现在理论这段是说的有点太多了 那么 我们先来看个东西 叫 MetaMask 这个在我们项目开发过程中需要使用 其实 你如果去找MetaMask 可能会被一些关键字下到 可能会看到 虚假 诈骗等关键字 因为 这个东西本事就是一个开源的以太坊的一个钱包 那么 钱包肯定就是用来管理资产…

LoadDef python工具包学习一:计算love数

首先在github下载这个工具箱:https://github.com/hrmartens/LoadDef 下载完毕,解压缩进入如下的界面,点击进入working工作文件夹。在doc文件夹里面有帮助文档和教程,有需要的可以仔细阅读。 loaddef主要的功能模块包括&#xff1…

力扣日记1494

1. 题目 [LeetCode 1494. 并行课程 II]https://leetcode.cn/problems/parallel-courses-ii/) 1.1 题意 严格按照选课先修顺序选课,每个学期选课数有上限,求选完所有课程的最短学期数 1.2 分析 这道题的数据量很小,而且作为困难题&#xff…

一起学 WebGL:纹理对象学习

大家好,我是前端西瓜哥,今天我们来了解 WebGL 的纹理对象(Texture) 纹理对象,是将像素(texels)以数组方式传给 GPU 的对象,常见场景是贴图,就是将图片的数据应用到 3D 物…

vue 根据word摸板导出word文档,并压缩为zip

yarn add jszip3.10.1 yarn add jszip-utils0.1.0 yarn add pizzip3.1.4 yarn add docxtemplater3.29.5 yarn add docxtemplater-image-module-free1.1.1 yarn add file-saver2.0.5 注意:这里的fileUrl必须是绝对路径,否则可能会报 is not zip的错误&…

当pytest遇上poium会擦出什么火花

当pytest遇上poium会擦出什么火花 首先,创建一个test_sample/test_demo.py 文件,写入下面三行代码。 def test_bing(page):page.get("https://www.bing.com")assert page.get_title "必应"不要问题 page 从哪里来,打开…

(LLM) 的所有知识;10分钟了解向量数据库;微软 Bing 可以识别图片了;

🦉 AI新闻 🚀 微软 Bing 可以识图」了,吊打 GPT-4? 摘要:微软 Bing 最新识图功能让用户可以上传图片并进行编程、做题、看病等操作,还能分析梗图笑点。然而在某些情况下表现不佳,例如无法数清…

技术分享 | i.MX8M Plus开发板 固定IP地址以及单网口多IP设置

以启扬IMX8MP开发板为例,给大家分享固定IP地址以及单网口多IP设置的步骤流程。 固定IP地址设置 20-wired.network 重启Network生效 网口多ip设置 对于一些网络管理的命令 connman设置(参考) imx8 yocto系统的init system使用systemd&#xff…

精选Java SSM 框架基础面试题

一、Spring面试题 1、Spring 在ssm中起什么作用? Spring:轻量级框架作用:Bean工厂,用来管理Bean的生命周期和框架集成。两大核心:1、IOC/DI(控制反转/依赖注入) :把dao依赖注入到service层,se…

STM32 GPIO 详解

0. 实验平台 基于STM32F407ZG 1. GPIO 简介 1.1 简介 GPIO全称:General Purpose Input Output,即通用输入输出端口,一般用来采集外部器件的信息或者控制外部器件工作,即输入输出 1.2 STM32 的 GPIO 特点 不同型号&#xff0…