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 ...
随机推荐
- Luogu P3975 [TJOI2015]弦论
题目链接 \(Click\) \(Here\) 题目大意: 重复子串不算的第\(k\)大子串 重复子串计入的第\(k\)大子串 写法:后缀自动机. 和\(OI\) \(Wiki\)上介绍的写法不太一样 ...
- (逆序对 分治法)P1908 逆序对 洛谷
题目描述 猫猫TOM和小老鼠JERRY最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游戏,现在他们喜欢玩统计.最近,TOM老猫查阅到一个人类称之为“逆序对”的东西,这东西是这样定 ...
- 关键字(2):循环和分支结构for/while/loop/switch
FOR i IN tRange1.first .. tRange1.last LOOP IF Instr(CardNum, tRange1(i), ) = THEN GLOBAL_VARBLE.nPo ...
- day14-jdbc案例(简单的curd&分页)
回顾: mvc jsp的设计模式1: jsp+javabean jsp的设计模式2: jsp+javabean+servlet jsp:展示数据 javabean:封装数据 封装对数据的访问 serv ...
- C++ 容器之 list的使用
1.List 装入引用或指针的方式 push_back() push_front() pop_back() pop_front() #include <iostream> #include ...
- Kafka权威指南 读书笔记之(三)Kafka 生产者一一向 Kafka 写入数据
不管是把 Kafka 作为消息队列.消息总线还是数据存储平台来使用 ,总是需要有一个可以往 Kafka 写入数据的生产者和一个从 Kafka 读取数据的消费者,或者一个兼具两种角色的应用程序. 开发者 ...
- Linux记录-linux系统常用监控指标
1.Linux运维基础采集项 做运维,不怕出问题,怕的是出了问题,抓不到现场,两眼摸黑.所以,依靠强大的监控系统,收集尽可能多的指标,意义重大.但哪些指标才是有意义的呢,本着从实践中来的思想,各位工程 ...
- ruby新建web项目步骤,使用mysql数据库
1.创建一个项目 指定数据库 rails new demo02 -d mysql 2.修改 config/database.yml 修改数据库密码 default: &default adap ...
- Swagger入门
新手入门Swagger看了很多博客,竟然没有一个是步骤齐全的或直接能运行的.于是CSDN下载了SSM+Swagger整合的demo,一顿瞎整,终于可以运行了. 不容易,因此分享这篇博客,祝新手朋友们早 ...
- go结构体方法
Golang中的方法是作用在特定类型的变量上,因此自定义类型,都可以有方法,而不仅仅是struct. 定义格式 func (var *Struct_Name) FuncName( var0, var1 ...