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的Flask框架实现视频的流媒体传输
Mar 31 Python
Python中使用logging模块打印log日志详解
Apr 05 Python
改进Django中的表单的简单方法
Jul 17 Python
总结网络IO模型与select模型的Python实例讲解
Jun 27 Python
Python实现的矩阵类实例
Aug 22 Python
Windows下安装Django框架的方法简明教程
Mar 28 Python
python pandas库中DataFrame对行和列的操作实例讲解
Jun 09 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
Sep 13 Python
Python玩转加密的技巧【推荐】
May 13 Python
pygame实现成语填空游戏
Oct 29 Python
Django实现文章详情页面跳转代码实例
Sep 16 Python
Python Pandas数据分析工具用法实例
Nov 05 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
JoshChen_php新手进阶高手不可或缺的规范介绍
2013/08/16 PHP
Laravel框架实现发送短信验证功能代码
2016/06/06 PHP
PHP 7.4 新语法之箭头函数实例详解
2019/05/09 PHP
jquery的相对父元素和相对文档定位示例代码
2013/08/02 Javascript
IE6中链接A的href为javascript协议时不在当前页面跳转
2014/06/05 Javascript
Javascript学习笔记之相等符号与严格相等符号
2014/11/23 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
2015/12/03 Javascript
老生常谈Bootstrap媒体对象
2017/07/06 Javascript
jQuery列表检索功能实现代码
2017/07/17 jQuery
JS实现按钮颜色切换效果
2020/09/05 Javascript
VueRouter导航守卫用法详解
2017/12/25 Javascript
React router动态加载组件之适配器模式的应用详解
2018/09/12 Javascript
小程序实现按下录音松开识别语音
2019/11/22 Javascript
Node.js API详解之 dgram模块用法实例分析
2020/06/05 Javascript
Vue中component标签解决项目组件化操作
2020/09/04 Javascript
Python中的引用和拷贝浅析
2014/11/22 Python
Python远程桌面协议RDPY安装使用介绍
2015/04/15 Python
Python中str.join()简单用法示例
2018/03/20 Python
详解Python3除法之真除法、截断除法和下取整对比
2019/05/23 Python
python 递归调用返回None的问题及解决方法
2020/03/16 Python
python可以用哪些数据库
2020/06/22 Python
python中字典增加和删除使用方法
2020/09/30 Python
calendar在python3时间中常用函数举例详解
2020/11/18 Python
canvas学习笔记之绘制简单路径
2019/01/28 HTML / CSS
柒牌官方商城:中国男装优秀品牌
2017/06/30 全球购物
时尚、社区、科技:SEVENSTORE
2019/04/26 全球购物
美国手机支架公司:PopSockets
2019/11/27 全球购物
个人批评与自我批评
2014/10/15 职场文书
保安2014年终工作总结
2014/12/06 职场文书
教师考核表个人总结
2015/02/12 职场文书
实习证明格式范文
2015/06/16 职场文书
2015年公司中秋节致辞
2015/07/31 职场文书
导游词之南迦巴瓦峰
2019/11/19 职场文书
pytorch 权重weight 与 梯度grad 可视化操作
2021/06/05 Python
解决mysql问题:由于找不到MSVCR120.dll,无法继续执行代码
2021/06/26 MySQL
Python图像处理库PIL详细使用说明
2022/04/06 Python