python实现密码验证合格程序的思路详解
作者:陈阿呆要好好测 发布时间:2022-12-10 05:07:38
标签:python,密码,验证,合格程序
题目描述
输入一行或多行字符串密码,验证每行密码是否符合规范,符合提示“OK”,否则“NG”。密码规范为:
1.长度超过8位
2.包括大小写字母.数字.其它符号,以上四种至少三种
3.不能有相同长度超2的子串重复
解题思路
1.获取输入的多行字符串
2.对每行字符串进行密码验证:
1)如果密码长度小于等于8或者是密码中有长度超过2的重复子串,则密码NG
2)在1)不满足的情况下再看有没有至少包含大写字母、小写字母、数字、其他符号
python代码实现
import sys
import re
def has_Dup(str):
for i in range(len(str)-3):
for j in range(i+1, len(str)-3):
if str[i:i+3] == str[j:j+3]:
return True
def check_pwd(pwd):
if len(pwd) <= 8 or has_Dup(pwd):
return False
count = 0
if re.search('[0-9]', pwd):
count += 1
if re.search('[a-z]', pwd):
count += 1
if re.search('[A-Z]', pwd):
count += 1
if re.search('\W', pwd):
count += 1
if count >= 3:
return True
pwdList = sys.stdin.readlines()
for x in pwdList:
x = x.strip()
if check_pwd(x):
print('OK')
else:
print('NG')
来源:https://blog.csdn.net/weixin_43273051/article/details/106450165
0
投稿
猜你喜欢
- python中reduce和map简介map(func,seq1[,seq2...]) :将函数func作用于给定序列的每个元素,并用一个列
- <? // 建立一个指向新COM组件的索引 $word = new C
- 我就废话不多说了,直接上代码吧!import datetimeimport timedef get_float_time_stamp():
- 加上设置字符编码的方法:response.setHeader("charset","gb2312")
- Python 基础教程之包和类的用法建立一个文件夹filePackage 在filePackage 文件夹内创建 __init__.py 有
- 什么是 PiniaPinia (西班牙语中的菠萝),本质上依然是一个状态管理的库,用于跨组件、页面进行状态共享.pinia 与 vuex 的
- 一). ubuntu下mysql安装布局:/usr/bin  
- 一、引言在编写调试Python代码过程中,我们经常需要记录日志,通常我们会采用python自带的内置标准库logging,但是使用该库,配置
- 在SQL Server的查询条件中,能否在IN里面使用变量呢? 如果可以的话,有没有需要注意的地方或一些限制呢?在回答这个问题前,我们先来看
- 本文实例讲述了python实现两个dict合并与计算操作。分享给大家供大家参考,具体如下:用pythonic 的方法,将两个dict合并,并
- 说明1、在使用之前需要在settings中打开。2、pipeline在settings中键表示位置(即pipeline在项目中的位置可以自定
- 哪里出问题了python 中,使用 global 会将全局变量设为本函数可用。同时,在函数内部访问变量会先本地再全局。在嵌套函数中,使用 g
- 简单的‘Hello World!'Python命令行假设你已经安装好了Python, 那么在Linux命令行输入:$python将直
- goroutine 泄漏和避免泄漏的最佳实践Go的奇妙之处在于,我们可以使用goroutines和channel轻松地执行并发任务。如果在生
- 题目描述从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。思路:1、把每层节点的val值用list存好2、把每层节点存好:①计
- 我为 Compose 写了一个波浪效果的进度加载库,API 的设计上符合 Compose 的开发规范,使用非常简便。1. 使用方式在 roo
- 什么是可变/不可变对象不可变对象,该对象所指向的内存中的值不能被改变。当改变某个变量时候,由于其所指的值不能被改变,相当于把原来的值复制一份
- 平方根,又叫二次方根,表示为〔√ ̄〕,如:数学语言为:√ ̄16=4。语言描述为:根号下16=4。以下实例为通过用户输入一个数字,并计算这个数
- 其实大家都知道sql语句的错误信息都可以在sys.messages表里面找到如:如果在执行语句在try...catch中 我们可以通过以下方
- Mac 安装Mysql有许多开发的小伙伴,使用的是mac,那么在mac上如何安装Mysql呢?这篇文章就给大家说说。1、首先,登陆Mysql