python字符串判断密码强弱


Posted in Python onMarch 18, 2020

本文实例为大家分享了Python密码强弱判断的具体代码,供大家参考,具体内容如下

程序说明:通过获取用户输入,判断密码长度是否大于8,同时判断其中是否包含数字和字母,并返回相关信息。

【相关知识点】

Python字符串:

str.isnumeric() -----检测字符串是否只有数字 返回True or False(注意是只有数字)
str.isalpha() -----检测字符串中是否只有字母 返回True or False
str.islower() -----检测字符串中是否都为小写
str.isupper() ------检测字符串中是否都为大写

"""
 作者: 王啸北
 日期: 2019.05.19
 功能: 判断输入密码的强弱
 版本: v2.0
 增加功能: 循环终止
"""

# 判断输入字符串中是否含有数字
def existNumber(password_str):
 has_number = False
 for c in password_str:
  if c.isnumeric():
   has_number = True
   break
 return has_number
 # 程序中一般不连续用两个return
 #   return True # return 提前终止循环
 # return False

# 判断输入字符串中是否含有字母
# def existAlpha(password_str):
#  for c in password_str:
#   if c.isalpha():
#    return True
#  return False

# v2.0 判断输入字符串中是否含有字母
def existAlpha(password_str):
 has_Alpha = False
 for c in password_str:
  if c.isalpha():
   has_Alpha = True
   break
 return has_Alpha

def main():
 """
 主函数
 :return:12
 """

 Try_times = 5
 while Try_times > 0:
  password = input('请输入密码:')
  # 密码强度
  strength_level = 0

  # 规则一: 密码长度大于8
  if len(password) >= 8:
   strength_level += 1
  else:
   print('请输入长度大于8的密码...')

  # 规则二: 判断是否有数字
  if existNumber(password):
   strength_level += 1
  else:
   print('密码中需包含数字')

  #规则三: 密码中包含字母
  if existAlpha(password):
   strength_level += 1
  else:
   print('密码中需包含字母')

  if strength_level == 3:
   print('密码输入正确!')
   break
  else:
   Try_times -= 1
   if Try_times == 0:
    print('密码错误次数太多!')
   else:
    print('密码错误!剩余{}次'.format(Try_times))
  print() #添加空行

if __name__ == '__main__':
 main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python多进程multiprocessing用法实例分析
Aug 18 Python
Python排序搜索基本算法之归并排序实例分析
Dec 08 Python
利用numpy和pandas处理csv文件中的时间方法
Apr 19 Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
Jun 04 Python
Python爬虫实战之12306抢票开源
Jan 24 Python
如何在Cloud Studio上执行Python代码?
Aug 09 Python
python实现一个函数版的名片管理系统过程解析
Aug 27 Python
基于python 等频分箱qcut问题的解决
Mar 03 Python
python tkinter之 复选、文本、下拉的实现
Mar 04 Python
Pandas的Apply函数具体使用
Jul 21 Python
Python使用windows设置定时执行脚本
Nov 12 Python
matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())
Feb 22 Python
详解Python3中的 input() 函数
Mar 18 #Python
Python通过socketserver处理多个链接
Mar 18 #Python
python实现密码强度校验
Mar 18 #Python
Python tcp传输代码实例解析
Mar 18 #Python
python实现用户名密码校验
Mar 18 #Python
Python3+selenium实现cookie免密登录的示例代码
Mar 18 #Python
Selenium启动Chrome时配置选项详解
Mar 18 #Python
You might like
PHP根据IP地址获取所在城市具体实现
2013/11/27 PHP
PHP+Mysql+jQuery实现发布微博程序 php篇
2015/10/15 PHP
php微信公众平台开发(一) 配置接口
2016/12/06 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
2018/12/07 PHP
9个javascript语法高亮插件 推荐
2009/07/18 Javascript
js固定DIV高度,超出部分自动添加滚动条的简单方法
2013/07/10 Javascript
JavaScript:new 一个函数和直接调用函数的区别分析
2013/07/10 Javascript
window.location.href的用法(动态输出跳转)
2014/08/09 Javascript
jQuery选择器源码解读(七):elementMatcher函数
2015/03/31 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
2015/08/15 Javascript
javascript实现自动输出文本(打字特效)
2015/08/27 Javascript
AngularJs基于角色的前端访问控制的实现
2016/11/07 Javascript
JavaScript用构造函数如何获取变量的类型名
2016/12/23 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一)
2017/01/21 Javascript
详解vue表单验证组件 v-verify-plugin
2017/04/19 Javascript
详解Angular Reactive Form 表单验证
2017/07/06 Javascript
Vue工程模板文件 webpack打包配置方法
2017/12/26 Javascript
webpack+react+antd脚手架优化的方法
2018/04/02 Javascript
详解Vue中watch的高级用法
2018/05/02 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
Python FTP操作类代码分享
2014/05/13 Python
Python使用ftplib实现简易FTP客户端的方法
2015/06/03 Python
Python中的异常处理相关语句基础学习笔记
2016/07/11 Python
python实现12306火车票查询器
2017/04/20 Python
python实现动态创建类的方法分析
2019/06/25 Python
postman模拟访问具有Session的post请求方法
2019/07/15 Python
postman传递当前时间戳实例详解
2019/09/14 Python
Python迭代器iterator生成器generator使用解析
2019/10/24 Python
idea2020手动安装python插件的实现方法
2020/07/17 Python
Python 如何查找特定类型文件
2020/08/17 Python
HTML5边玩边学(2)基础绘图实现方法
2010/09/21 HTML / CSS
电视节目策划方案
2014/05/16 职场文书
2014年党的群众路线整改措施思想汇报
2014/10/12 职场文书
2016年小学六一儿童节活动总结
2016/04/06 职场文书
python 中[0]*2与0*2的区别说明
2021/05/10 Python
Python爬取英雄联盟MSI直播间弹幕并生成词云图
2021/06/01 Python