题目:输入密码,对密码进行验证,输入不能为空,
密码长度为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位之间。
通过以上正则表达式的使用,我们对日常的代码就做了很大简化,使我们推崇的使用方法。