考点:常见的登录验证类问题,通过正则来优化代码【Python习题14】

简介: 考点:常见的登录验证类问题,通过正则来优化代码【Python习题14】

题目:输入密码,对密码进行验证,输入不能为空,

密码长度为6-12位,且必须包含数字和字母

解题分析:

这里要满足以下几个要求:1)要有人为输入2)要有验证(满足a.不能空  b.长度6-12    c.包含数字和字母)

详细说明:

1)要有为输入用户输入,我们可以采用input方法就可以实现。

input("请输入密码:")  这个函数会返回一个字符串。

2)验证

在常规思路下,我们会对验证的内容一项项写代码判断,这个思路就相对比较复杂一点。

在此题中,我们采用正则表达式的方法来解决问题。

其实,通过正则表达式,我们只要限制了输入的长度后,效果已经包含了不能为空的效果,然后要加上的规则就是包含数字同时包含字母(大小写),这里不能漏了。

程序输入交互效果:

请输入密码:

输入密码不能为空

请输入密码:12345

没有找到

请输入密码:123456

没有找到

请输入密码:1234a

没有找到

请输入密码:12345a

12345a

请输入密码:

程序源代码:

"""
import re
while True:
    mm = input("请输入密码:")
    if mm=="":
        print("输入密码不能为空")
    else:
        a=re.match("(?=.*[0-9])(?=.*[a-zA-Z])^.{6,12}$",mm)
        if a:
            print(a)
        else:
            print("没有找到")

总结:

这个代码我们使用了python的re模块,这个模块中的正则我们要做一些简单理解。

(?=.*[0-9])中的?=我们可以理解为包含,[0-9]是指0、1、2、3...9这些数字中的任意一个。

(?=.*[a-zA-Z])表示包含大小写字母。

^.{6,12}$表示字符串从开头到结束的长度要在6至12位之间。

通过以上正则表达式的使用,我们对日常的代码就做了很大简化,使我们推崇的使用方法。

相关文章
|
7月前
|
测试技术 Python
Python装饰器:为你的代码施展“魔法”
Python装饰器:为你的代码施展“魔法”
379 100
|
7月前
|
开发者 Python
Python列表推导式:一行代码的艺术与力量
Python列表推导式:一行代码的艺术与力量
570 95
|
8月前
|
Python
Python的简洁之道:5个让代码更优雅的技巧
Python的简洁之道:5个让代码更优雅的技巧
379 104
|
8月前
|
开发者 Python
Python神技:用列表推导式让你的代码更优雅
Python神技:用列表推导式让你的代码更优雅
662 99
|
7月前
|
缓存 Python
Python装饰器:为你的代码施展“魔法
Python装饰器:为你的代码施展“魔法
449 88
|
7月前
|
监控 机器人 编译器
如何将python代码打包成exe文件---PyInstaller打包之神
PyInstaller可将Python程序打包为独立可执行文件,无需用户安装Python环境。它自动分析代码依赖,整合解释器、库及资源,支持一键生成exe,方便分发。使用pip安装后,通过简单命令即可完成打包,适合各类项目部署。
1368 68
|
8月前
|
设计模式 人工智能 API
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析17种智能体架构设计模式,涵盖多智能体协作、思维树、反思优化与工具调用等核心范式,结合LangChain与LangGraph实现代码工作流,并通过真实案例验证效果,助力构建高效AI系统。
957 7
跟我从0学Python——类的继承和多态
类的继承和多态 —— 面向对象编程的扩展与灵活性
|
搜索推荐 Python
Python学习 -- 类的继承
Python学习 -- 类的继承
157 0
|
Kotlin Python
Python(三十一)python类class继承与多态
Python是一门面向对象语言 面向对象的三大特征:封装、继承、多态 我们这里来看一下python 类的继承 通过继承创建的新类称为子类或派生类,被继承的类称为基类、父类或超类。 一:类的继承 1 :继承语法 arduino 复制代码 class 派生类名(基类名) ... 通常我们定义的类没有指定继承对象都是继承自object类,另外,python是支持多继承的。 下边我们使用代码来演示一下python的继承: 我们定义一个person类,其中有name、age两个属性,getInfo方法,为父类。 我们定义一个school类,其中getSchoolInfo方法,为父类。 定义一
371 0

推荐镜像

更多