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进阶教程之循环对象
Aug 30 Python
python通过ftplib登录到ftp服务器的方法
May 08 Python
使用Python编写爬虫的基本模块及框架使用指南
Jan 20 Python
python中import学习备忘笔记
Jan 24 Python
python实现BackPropagation算法
Dec 14 Python
详解Python Matplot中文显示完美解决方案
Mar 07 Python
tensorflow 限制显存大小的实现
Feb 03 Python
Python爬虫设置ip代理过程解析
Jul 20 Python
Python 使用双重循环打印图形菱形操作
Aug 09 Python
pycharm 实现调试窗口恢复
Feb 05 Python
pycharm最新激活码有效期至2100年(亲测可用)
Feb 05 Python
python数字图像处理:图像简单滤波
Jun 28 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文件上传的例子及参数详解
2013/12/12 PHP
PHPMailer的主要功能特点和简单使用说明
2014/02/17 PHP
PHP中round()函数对浮点数进行四舍五入的方法
2014/11/19 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
2015/11/23 PHP
windows环境下使用Composer安装ThinkPHP5
2018/05/18 PHP
JavaScript的面向对象(一)
2006/11/09 Javascript
js中关于new Object时传参的一些细节分析
2011/03/13 Javascript
js计算字符串长度包含的中文是utf8格式
2013/10/15 Javascript
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
使用JQuery库提供的扩展功能实现自定义方法
2014/09/09 Javascript
jquery中EasyUI实现异步树
2015/03/01 Javascript
jquery获取及设置outerhtml的方法
2015/03/09 Javascript
JavaScript中的立即执行函数表达式介绍
2015/03/15 Javascript
由简入繁实现Jquery树状结构的方法(推荐)
2016/06/10 Javascript
浅谈AngularJS中ng-class的使用方法
2016/11/11 Javascript
JavaScript实现左右下拉框动态增删示例
2017/03/09 Javascript
vue.js2.0点击获取自己的属性和jquery方法
2018/02/23 jQuery
vue定义全局变量和全局方法的方法示例
2018/08/01 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
JavaScript实现随机点名器
2020/03/25 Javascript
[40:03]RNG vs VG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python之wxPython菜单使用详解
2014/09/28 Python
使用graphics.py实现2048小游戏
2015/03/10 Python
Python中的数学运算操作符使用进阶
2016/06/20 Python
python编程之requests在网络请求中添加cookies参数方法详解
2017/10/25 Python
pygame实现飞机大战
2020/03/11 Python
Python MOCK SERVER moco模拟接口测试过程解析
2020/04/13 Python
英国人最爱的饰品网站:Accessorize
2016/08/22 全球购物
应届毕业生的个人自我鉴定
2013/10/24 职场文书
入党积极分子自我鉴定
2014/02/18 职场文书
完整版商业计划书
2014/09/15 职场文书
民政局副局长民主生活会个人整改措施
2014/10/04 职场文书
银行业务授权委托书
2014/10/10 职场文书
2015年高二班主任工作总结
2015/05/25 职场文书
会议主持词结束语
2015/07/03 职场文书
学生病假条怎么写
2015/08/17 职场文书