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 import自定义模块方法
Feb 12 Python
在python3.5中使用OpenCV的实例讲解
Apr 02 Python
Python多继承顺序实例分析
May 26 Python
对Python2与Python3中__bool__方法的差异详解
Nov 01 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
Dec 12 Python
python3.x 生成3维随机数组实例
Nov 28 Python
Python virtualenv虚拟环境实现过程解析
Apr 18 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
Jul 02 Python
解决Pymongo insert时会自动添加_id的问题
Dec 05 Python
关于PySnooper 永远不要使用print进行调试的问题
Mar 04 Python
Python的这些库,你知道多少?
Jun 09 Python
Python图片验证码降噪和8邻域降噪
Aug 30 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
SONY SRF-22W(33W)的电路分析和维修案例
2021/03/02 无线电
linux下 C语言对 php 扩展
2008/12/14 PHP
PHP 实用代码收集
2010/01/22 PHP
php控制linux服务器常用功能 关机 重启 开新站点等
2012/09/05 PHP
php根据操作系统转换文件名大小写的方法
2014/02/24 PHP
php密码生成类实例
2014/09/24 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
2016/10/21 PHP
Extjs Ajax 乱码问题解决方案
2009/04/15 Javascript
javascript OFFICE控件测试代码
2009/12/08 Javascript
javascrip客户端验证文件大小及文件类型并重置上传
2011/01/12 Javascript
js拼接html注意问题示例探讨
2014/07/14 Javascript
scrollWidth,clientWidth,offsetWidth的区别
2015/01/13 Javascript
javascript实现画不相交的圆
2015/04/07 Javascript
javascript处理a标签超链接默认事件的方法
2015/06/29 Javascript
基于Jquery插件实现跨域异步上传文件功能
2016/04/26 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
Jquery针对tr td的一些实用操作方法(必看篇)
2016/10/05 Javascript
详解vue2.0组件通信各种情况总结与实例分析
2017/03/22 Javascript
Vue 2.0学习笔记之使用$refs访问Vue中的DOM
2017/12/19 Javascript
详解JS中统计函数执行次数与执行时间
2018/09/04 Javascript
Vue源码分析之Vue实例初始化详解
2019/08/25 Javascript
Vue.directive 实现元素scroll逻辑复用
2019/11/29 Javascript
JS定时器如何实现提交成功提示功能
2020/06/12 Javascript
JS中循环遍历数组的四种方式总结
2021/01/23 Javascript
用Python编写一个简单的Lisp解释器的教程
2015/04/03 Python
Python中__init__.py文件的作用详解
2016/09/18 Python
python 开发的三种运行模式详细介绍
2017/01/18 Python
tensorflow 加载部分变量的实例讲解
2018/07/27 Python
python的concat等多种用法详解
2018/11/28 Python
Python迭代器iterator生成器generator使用解析
2019/10/24 Python
使用css如何制作时间ICON方法实践
2012/11/12 HTML / CSS
HTML5视频播放插件 video.js介绍
2018/09/29 HTML / CSS
西式婚礼证婚词
2014/01/12 职场文书
家庭贫困证明
2014/09/23 职场文书
《比的意义》教学反思
2016/02/18 职场文书
《亲亲我的妈妈》观后感(3篇)
2019/09/26 职场文书