.    # 密码安全性检查代码
. #
. # 低级密码要求:
. # . 密码由单纯的数字或字母组成
. # . 密码长度小于等于8位
. #
. # 中级密码要求:
. # . 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合
. # . 密码长度不能低于8位
. #
. # 高级密码要求:
. # . 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合
. # . 密码只能由字母开头
. # . 密码长度不能低于16位
#低级密码要求
#.密码由纯数字或字母组成
#.密码长度小于等于8位 '''isbool = True
while isbool:
pwd1 = input("低级密码测试")
if pwd1.isdigit() or pwd1.isalpha():
print("数字或密码")
isbool = False
else:
print("不是数字或字母")
isbool = True
continue
if len(pwd1)<=:
print("长度小于8")
isbool = False
else:
print("长度不正确")
isbool = True
continue
''' symbols = r'~!@#$%^&*()_=-/,.?<>;:[]{}|\''
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
nums = '' isbool = True
while isbool:
pwd = input("请输入要检查的密码")
length = len(pwd)
#isspace()是否都为空格
while(pwd.isspace() or length==):
pwd = input("密码不能为空,请重新输入")
# 判断长度 0低,1中,2高
flag_len =
if(length<=):
flag_len =
elif(<length<):
flag_len=
else:
flag_len=
#判断是否包含特殊字符
flag_con=
for each in pwd:
if each in symbols:
flag_con+=
break
#判断是否包含字母
flag_chars=
for each in pwd:
if each in chars:
flag_chars +=
break
#判断是否包含数字
flag_num =
for each in pwd:
if each in nums:
flag_num+=
break
if (pwd.isdigit() or pwd.isalpha()):
flag_num=
flag_chars= print("您的密码安全等级为:")
if flag_len== or (flag_num== and flag_chars==):
print("密码等级低")
elif(flag_len== and flag_con== and flag_chars==):
print("密码等级中级")
elif(flag_len== and flag_num== and flag_chars==):
print("密码等级中级")
elif(flag_len== and flag_con== and flag_num==):
print("密码等级中级")
elif(flag_len== and flag_con== and flag_chars==):
print("密码等级高级")
elif(flag_len== and flag_num== and flag_chars==):
print("密码等级高级")
elif(flag_len== and flag_con== and flag_num==):
print("密码等级高级")

python小练习,密码等级问题的更多相关文章

  1. python小练习之二

    title: python小练习之二 tags: 新建,模板,小书匠 grammar_cjkRuby: true --- python小练习之二 需求:实现用户登录,用户名和密码保存到文件里,连续输入 ...

  2. Python 小案例实战 —— 简易银行存取款查询系统

    Python 小案例实战 -- 简易银行存取款查询系统 涉及知识点 包的调用 字典.列表的混合运用 列表元素索引.追加 基本的循环与分支结构 源码 import sys import time ban ...

  3. 第一个python小脚本

    第一个python小实验 前言 作为一个工作1年的linux运维搬砖师来说,发现没点开发能力真的是不好混啊.于是下定决心学习python! 直接上刚写的语句(大神莫鄙视) 通过控制台输入一个账号密码, ...

  4. 密码等级:至少包含字母、大小写数字、字符中的两种 JS实现方案

    前言 密码,如果设置的太简单,很容易就被攻破,所以很多网站将密码设置的要求设置的挺严格,一般是字母.数字.字符3选2,区分大小写.对于设置得太简单的密码,予以错误提示.或者予以密码等级(低中高)显示, ...

  5. python 暴力破解密码脚本

    python 暴力破解密码脚本 以下,仅为个人测试代码,环境也是测试环境,暴力破解原理都是一样的, 假设要暴力破解登陆网站www.a.com 用户 testUser的密码, 首先,该网站登陆的验证要支 ...

  6. Python小工具--删除svn文件

    有的时候我们需要删除项目下的svn相关文件,但是SVN会在所有的目录下都创建隐藏文件.svn,手工一个个目录查找然后删除显然比较麻烦.所以这里提供了一个Python小工具用于批量删除svn的相关文件: ...

  7. python小练习(自己瞎倒腾)

    python小练习 在网上无意中看到一个问题,心血来潮写了写,觉得比较有意思,以后遇到这种有意思的小练习也记录下. #!/usr/bin/env python # -*- coding:utf-8 - ...

  8. Python小代码_2_格式化输出

    Python小代码_2_格式化输出 name = input("name:") age = input("age:") job = input("jo ...

  9. Python小代码_1_九九乘法表

    Python小代码_1_九九乘法表 max_num = 9 row = 1 while row <= max_num: col = 1 while col <= row: print(st ...

随机推荐

  1. (注意输入格式)bistuoj(旧)1237 成绩统计

    成绩统计 Time Limit(Common/Java):1000MS/3000MS          Memory Limit:65536KByteTotal Submit:88          ...

  2. MySQL双主+keeplived安装部署说明

    MySQL双主+keeplived安装部署说明 一.环境介绍 1.1.规划 序号 类别 版本 主机名 IP 端口 备注 1 OS CentOS release 6.9 (Final) (minimal ...

  3. stock

    version: 1 disable_existing_loggers: False formatters: simple: format: "%(asctime)s - %(name)s ...

  4. linux对4T硬盘进行分区

    使用parted工具: yum install parted parted /dev/sdb //选择硬盘 GNUParted 2.3Using /dev/sdbWelcome to GNU Part ...

  5. 面向对象【day08】:类的起源与metaclass(二)

    本节内容 1.概述 2.类的起源 3.__new__方法 4.__metaclass__方法 一.概述 前面我们学习了大篇幅的关于类,通过类创建对象,那我们想知道这个类到底是怎么产生的呢?它的一切来源 ...

  6. 3.Zuul-过滤器

    1.什么是Zuul? 路由+过滤器=Zuul,核心是一系列的过滤器 2.Zuul的过滤器: pre:可以在请求被路由之前调用 route:在路由请求时候被调用 post:在route和error过滤器 ...

  7. 常用Java数据库连接池

    概述 在这里所谓的数据库连接是指通过网络协议与数据库服务之间建立的TCP连接.通常,与数据库服务进行通信的网络协议无需由应用程序本身实现,原因有三: 实现复杂度大,需要充分理解和掌握相应的通信协议. ...

  8. Log4j 1.x JDBCAppender记录日志失效问题详解

    官网:http://logging.apache.org/log4j/1.2/manual.html 事件:最近在项目中使用log4j 1.x JDBCAppender记录管理员操作日志到数据库,在测 ...

  9. spring boot零碎知识点待补充

    @Controller 和@RestController的区别 @RestController相当于同时使用了@Controller和@ResponseBody  即不会使用视图解析器,返回值直接返回 ...

  10. Vertica系列: Vertica DB连接负载均衡

    背景 谈到负载均衡, 对于数据库集群需要区分几个概念: 运算的负载均衡, Vertica 本身是 MPP 数据库, SQL 操作自动会利用多台机器来加快处理速度. 数据库连接的负载均衡, Vertic ...