python实现密码验证合格程序的思路详解


Posted in Python onJune 01, 2020

题目描述

输入一行或多行字符串密码,验证每行密码是否符合规范,符合提示“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')

总结

到此这篇关于python实现密码验证合格程序的思路详解的文章就介绍到这了,更多相关python密码验证合格程序内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python创建系统目录的方法
Mar 11 Python
Python文件及目录操作实例详解
Jun 04 Python
在Python的Flask框架中验证注册用户的Email的方法
Sep 02 Python
python基于itchat实现微信群消息同步机器人
Feb 27 Python
Python连接Mssql基础教程之Python库pymssql
Sep 16 Python
python如何解析配置文件并应用到项目中
Jun 27 Python
为什么说python适合写爬虫
Jun 11 Python
Python自动发送和收取邮件的方法
Aug 12 Python
python 实现一个图形界面的汇率计算器
Nov 09 Python
python Scrapy框架原理解析
Jan 04 Python
使用python对excel表格处理的一些小功能
Jan 25 Python
用Python提取PDF表格的方法
Apr 11 Python
Python网络爬虫四大选择器用法原理总结
Jun 01 #Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
Jun 01 #Python
pycharm设置默认的UTF-8编码模式的方法详解
Jun 01 #Python
解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题
Jun 01 #Python
Python常见反爬虫机制解决方案
Jun 01 #Python
解决python运行启动报错问题
Jun 01 #Python
利用python控制Autocad:pyautocad方式
Jun 01 #Python
You might like
php基于mcrypt的加密解密实例
2014/10/27 PHP
php网站被挂木马后的修复方法总结
2014/11/06 PHP
php无限分类使用concat如何实现
2015/11/05 PHP
php用户密码加密算法分析【Discuz加密算法】
2016/10/12 PHP
Redis使用Eval多个键值自增的操作实例
2016/11/04 PHP
浅谈htmlentities 、htmlspecialchars、addslashes的使用方法
2016/12/09 PHP
php 中的closure用法详解
2017/06/12 PHP
jquery Firefox3.5中操作select的问题
2009/07/10 Javascript
JS分割字符串并放入数组的函数
2011/07/04 Javascript
基于jquery的拖动布局插件
2011/11/25 Javascript
jQuery打印指定区域Html页面并自动分页
2014/07/04 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
2015/09/07 Javascript
AngularJS 实现按需异步加载实例代码
2015/10/18 Javascript
js图片轮播效果实现代码
2020/04/18 Javascript
Jquery实现遮罩层的简单实例(就是弹出DIV周围都灰色不能操作)
2016/07/14 Javascript
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
javascript  删除select中的所有option的实例
2017/09/17 Javascript
基于JavaScript实现表格滚动分页
2017/11/22 Javascript
Javascript中JSON数据分组优化实践及JS操作JSON总结
2017/12/22 Javascript
nuxt框架中路由鉴权之Koa和Session的用法
2018/05/09 Javascript
函数式编程入门实践(一)
2019/04/20 Javascript
vue前端框架—Mint UI详解(更适用于移动端)
2019/04/30 Javascript
原生js 实现表单验证功能
2021/02/08 Javascript
Python实现Linux下守护进程的编写方法
2014/08/22 Python
详解Python编程中time模块的使用
2015/11/20 Python
Python 高级专用类方法的实例详解
2017/09/11 Python
Python 最强编辑器详细使用指南(PyCharm )
2019/09/16 Python
pandas 缺失值与空值处理的实现方法
2019/10/12 Python
基于python中__add__函数的用法
2019/11/25 Python
python lambda函数及三个常用的高阶函数
2020/02/05 Python
python绘制高斯曲线
2021/02/19 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
2021/02/20 Python
纯HTML+CSS3制作导航菜单(附源码)
2013/04/24 HTML / CSS
政风行风自查自纠报告
2014/10/21 职场文书
Python一些基本的图像操作和处理总结
2021/06/23 Python
Vue h函数的使用详解
2022/02/18 Vue.js