python小练习,密码等级问题
. # 密码安全性检查代码
. #
. # 低级密码要求:
. # . 密码由单纯的数字或字母组成
. # . 密码长度小于等于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小练习,密码等级问题的更多相关文章
- python小练习之二
title: python小练习之二 tags: 新建,模板,小书匠 grammar_cjkRuby: true --- python小练习之二 需求:实现用户登录,用户名和密码保存到文件里,连续输入 ...
- Python 小案例实战 —— 简易银行存取款查询系统
Python 小案例实战 -- 简易银行存取款查询系统 涉及知识点 包的调用 字典.列表的混合运用 列表元素索引.追加 基本的循环与分支结构 源码 import sys import time ban ...
- 第一个python小脚本
第一个python小实验 前言 作为一个工作1年的linux运维搬砖师来说,发现没点开发能力真的是不好混啊.于是下定决心学习python! 直接上刚写的语句(大神莫鄙视) 通过控制台输入一个账号密码, ...
- 密码等级:至少包含字母、大小写数字、字符中的两种 JS实现方案
前言 密码,如果设置的太简单,很容易就被攻破,所以很多网站将密码设置的要求设置的挺严格,一般是字母.数字.字符3选2,区分大小写.对于设置得太简单的密码,予以错误提示.或者予以密码等级(低中高)显示, ...
- python 暴力破解密码脚本
python 暴力破解密码脚本 以下,仅为个人测试代码,环境也是测试环境,暴力破解原理都是一样的, 假设要暴力破解登陆网站www.a.com 用户 testUser的密码, 首先,该网站登陆的验证要支 ...
- Python小工具--删除svn文件
有的时候我们需要删除项目下的svn相关文件,但是SVN会在所有的目录下都创建隐藏文件.svn,手工一个个目录查找然后删除显然比较麻烦.所以这里提供了一个Python小工具用于批量删除svn的相关文件: ...
- python小练习(自己瞎倒腾)
python小练习 在网上无意中看到一个问题,心血来潮写了写,觉得比较有意思,以后遇到这种有意思的小练习也记录下. #!/usr/bin/env python # -*- coding:utf-8 - ...
- Python小代码_2_格式化输出
Python小代码_2_格式化输出 name = input("name:") age = input("age:") job = input("jo ...
- Python小代码_1_九九乘法表
Python小代码_1_九九乘法表 max_num = 9 row = 1 while row <= max_num: col = 1 while col <= row: print(st ...
随机推荐
- 114. Flatten Binary Tree to Linked List(M)
. Flatten Binary Tree to Linked List Given a binary tree, flatten it to a linked list in-place. For ...
- ETL过程
ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract).转换(transform).加载(load)至目的端的过程.ETL一词较常用在数 ...
- 91 Testing MySQL学习总结
91 Testing MySQL学习总结 --------- 在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System什么是数据库?数据 ...
- JDK1.5以后的版本特性
一.JDK1.5新特性 1.泛型:泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛型方法.可以在编译的时候就能 ...
- Python list 初始化技巧
1.一维列表 1.1 递增列表 # 初始化递增的list,与L = [i for i in range(10)] 效果相同 L = range(10) # 版本变化L = i for i in ran ...
- 【C#】C#创建自定义Object对象
艹,老是忘!!! }; 记录一下,var obj = new { Name="lily",Age=12};
- 【SqlServer】SqlServer中的计算列
计算列区别于需要我们手动或者程序给予赋值的列,它的值来源于该表中其它列的计算值.比如,一个表中包含有数量列Number与单价列Price,我们就可以创建计算列金额Amount来表示数量*单价的结果值, ...
- python 正则表达式re模块
#####################总结############## 优点: 灵活, 功能性强, 逻辑性强. 缺点: 上手难,旦上手, 会爱上这个东西 ...
- Web前端框架与移动应用开发第七章:二
3.练习3:抽奖大转盘 注意事项:需要使用Zepto.js,区别于zepto.min.js 实现效果:转盘转动抽奖 html <!DOCTYPE html><html>< ...
- NIO SocketChannel 【链接】
Java NIO系列教程(一) Java NIO 概述 Java NIO系列教程(六) Selector Java NIO系列教程(二) Channel Java NIO系列教程(三) Buffer ...