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命令行交互提示符的方法
Jan 14 Python
详解python 发送邮件实例代码
Dec 22 Python
动态规划之矩阵连乘问题Python实现方法
Nov 27 Python
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题
Sep 27 Python
pandas 透视表中文字段排序方法
Nov 16 Python
python安装scipy的方法步骤
Jun 26 Python
Python交互式图形编程的实现
Jul 25 Python
python实现LRU热点缓存及原理
Oct 29 Python
django框架F&amp;Q 聚合与分组操作示例
Dec 12 Python
Python捕获异常堆栈信息的几种方法(小结)
May 18 Python
Django如何使用asyncio协程和ThreadPoolExecutor多线程
Oct 12 Python
详解python模块pychartdir安装及导入问题
Oct 22 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实现高效获取图片尺寸的方法
2014/12/12 PHP
PHP中使用socket方式GET、POST数据实例
2015/04/02 PHP
PHP中的事务使用实例
2015/05/26 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
2015/11/05 PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
2016/04/11 PHP
详谈phpAdmin修改密码后拒绝访问的问题
2017/04/03 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
windows系统php环境安装swoole具体步骤
2021/03/04 PHP
DLL+ ActiveX控件+WEB页面调用例子
2010/08/07 Javascript
JQUERY的属性选择符和自定义选择符使用方法(二)
2011/04/07 Javascript
JavaScript设置IFrame高度自适应(兼容各主流浏览器)
2013/06/05 Javascript
javascript中直接写php代码的方法
2013/07/31 Javascript
Jquery 复选框取值兼容FF和IE8(测试有效)
2013/10/29 Javascript
jQuery制作简单柱状图实例
2015/01/28 Javascript
jQuery中 prop() attr()使用详解
2015/05/19 Javascript
javascript实现消灭星星小游戏简单版
2016/11/15 Javascript
localStorage实现便签小程序
2016/11/28 Javascript
vue2.0移动端滑动事件vue-touch的实例代码
2018/11/27 Javascript
JS常见面试试题总结【去重、遍历、闭包、继承等】
2019/08/27 Javascript
vue中如何自定义右键菜单详解
2020/12/08 Vue.js
vue实现验证用户名是否可用
2021/01/20 Vue.js
python 字符串格式化代码
2013/03/17 Python
编写Python脚本来获取Google搜索结果的示例
2015/05/04 Python
python实现决策树
2017/12/21 Python
浅谈Python批处理文件夹中的txt文件
2019/03/11 Python
使用遗传算法求二元函数的最小值
2020/02/11 Python
Python定时器线程池原理详解
2020/02/26 Python
关于canvas.toDataURL 在iOS运行失败的问题解决
2020/09/16 HTML / CSS
英国设计的甲板鞋和船鞋:Chatham
2018/12/06 全球购物
怎样填写就业意向
2014/04/02 职场文书
班主任对学生的评语
2014/04/26 职场文书
2014年企业员工工作总结
2014/12/09 职场文书
慰问信范文
2015/02/14 职场文书
公司辞职信模板
2015/05/13 职场文书
与Windows10相比Windows11有哪些改进?值不值得升级?
2021/11/21 数码科技
Linux中文件的基本属性介绍
2022/06/01 Servers