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 相关文章推荐
Cython 三分钟入门教程
Sep 17 Python
python 添加用户设置密码并发邮件给root用户
Jul 25 Python
Pycharm以root权限运行脚本的方法
Jan 19 Python
python实现递归查找某个路径下所有文件中的中文字符
Aug 31 Python
如何关掉pycharm中的python console(图解)
Oct 31 Python
python 协程 gevent原理与用法分析
Nov 22 Python
pygame库实现移动底座弹球小游戏
Apr 14 Python
Python如何使用paramiko模块连接linux
Mar 18 Python
Python Flask异步发送邮件实现方法解析
Aug 01 Python
基于Python实现下载网易音乐代码实例
Aug 10 Python
Kmeans均值聚类算法原理以及Python如何实现
Sep 26 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
Oct 27 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
利用 window_onload 实现select默认选择
2006/10/09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十四)
2014/06/26 PHP
PHP开发框架kohana中处理ajax请求的例子
2014/07/14 PHP
PHP设计模式之装饰器模式定义与用法简单示例
2018/08/13 PHP
javascript打开新窗口同时关闭旧窗口
2009/01/16 Javascript
ExtJS下grid的一些属性说明
2009/12/13 Javascript
javascript中的107个基础知识收集整理 推荐
2010/03/29 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
2012/12/11 Javascript
JS获取网页属性包括宽、高等等
2014/04/03 Javascript
jQuery实现首页顶部可伸缩广告特效代码
2015/04/15 Javascript
jQuery常用且重要方法汇总
2015/07/13 Javascript
jquery ajax结合thinkphp的getjson实现跨域的方法
2016/06/06 Javascript
浅析JavaScript中命名空间namespace模式
2016/06/22 Javascript
Bootstrap幻灯片轮播图支持触屏左右手势滑动的实现方法
2016/10/13 Javascript
EasyUI Datebox 日期验证之开始日期小于结束时间
2017/05/19 Javascript
vue轮播图插件vue-awesome-swiper的使用代码实例
2017/07/10 Javascript
ES6新特性:使用export和import实现模块化详解
2017/07/31 Javascript
angular之ng-template模板加载
2017/11/09 Javascript
Vue中Quill富文本编辑器的使用教程
2018/09/21 Javascript
cordova+vue+webapp使用html5获取地理位置的方法
2019/07/06 Javascript
js异步接口并发数量控制的方法示例
2020/11/22 Javascript
[02:39]DOTA2英雄基础教程 极限穿梭编织者
2013/12/05 DOTA
django中模板的html自动转意方法
2018/05/27 Python
基于python log取对数详解
2018/06/08 Python
利用Django模版生成树状结构实例代码
2019/05/19 Python
使用浏览器访问python写的服务器程序
2019/10/10 Python
详解selenium + chromedriver 被反爬的解决方法
2020/10/28 Python
巴西手表购物网站:eclock
2019/03/19 全球购物
领导干部考察材料
2014/02/08 职场文书
2015年度党风廉政建设工作情况汇报
2015/01/02 职场文书
郭明义电影观后感
2015/06/08 职场文书
公司处罚决定书
2015/06/24 职场文书
公司管理建议书
2015/09/14 职场文书
python基于tkinter制作无损音乐下载工具
2021/03/29 Python
Redis基于Bitmap实现用户签到功能
2021/06/20 Redis
Win10鼠标宏怎么设置?win10系统鼠标宏的设置方法
2022/08/14 数码科技