当前位置: 首页 > news >正文

学会python——密码校验(python实例三)

目录

1、认识Python

2、环境与工具

2.1 python环境

2.2 pycharm编译

3、纠正密码输入的格式问题

3.1 代码构思

3.2 代码示例

 3.3 运行结果

4、总结


1、认识Python

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字或标点符号,它具有比其他语言更有特色的语法结构。

 

2、环境与工具

2.1 python环境

在Windows上使用命令行窗口查看所安装的python版本

python 

 

2.2 pycharm编译

在这里可以直接使用社区版的pycharm进行代码编译。

 

3、纠正密码输入的格式问题

3.1 代码构思

登录密码在设置的时候为了保证其复杂性,往往需要满足由大写字母、小写字母、符号、数字组成,并且不能少于8位。

在这则代码中使用大写、小写、符号、数字识别方法,作为检验的方式,来辨别设置的密码的格式是否由问题

3.2 代码示例

def check_len(pwd):#检查密码长度是否大于八位if len(pwd)>=8:return Trueelse:return False#检查密码组成
def check(pwd):check=[0,0,0,0]for char in pwd:#如果是小写if char.islower():check[0]=1#如果是大写if char.isupper():check[1]=1#如果是数字if char.isdigit():check[2]=1#如果是其他字符if not(char.isalpha()|char.isdigit()|char.isspace()):check[3]=1#当列表中的四个元素之和小于4说明不符合if sum(check)<4:return Falseelse:return True#检查是否有四位以上是重复的
def check_rep(pwd):n=len(pwd)for i in range (n-4):str1=pwd[i:i+4]str2=pwd[i+4::]if str1 in str2:return Falsereturn True
if __name__ == '__main__':msg='''请设置密码:密码必须由大写字母、小写字母、符号、数字组成,并且不能少于8位'''print(msg)while True:pwd=input('请输入密码')#退出程序if pwd=='q':print("退出")break#查询位数vcheck1=check_len(pwd)if not vcheck1:print("位数不对")continue#查询符号组成vcheck2=check(pwd)if not vcheck2:print("密码组成必须是大写字母+小写字母+数字+符号")continue#查询有无重复vcheck3=check_rep(pwd)if not vcheck3:print("密码有重复字符串")continueprint("密码格式正确")break

 3.3 运行结果

在输入的时候要严格按照密码中含有大写字母、小写字母、符号、数字,并且不能少于8位的条件进行输入,否则就会报错。

4、总结

通过这一则代码,展示了在注册账号时候为什么要求输入多种格式的密码,展示了密码检验的底层逻辑。

http://www.lryc.cn/news/371230.html

相关文章:

  • 【Python】中的X[:,0]、X[0,:]、X[:,:,0]、X[:,:,1]、X[:,m:n]、X[:,:,m:n]和X[: : -1]
  • 【Java基础】OkHttp 超时设置详解
  • 巴西:海外媒体投放,大舍传媒实现企业与巴西媒体间的交流
  • MT7981B+MT7976C+MT7531A RF定频测试方法
  • 支持微信支付宝账单,极空间Docker部署一个开箱即用的私人账本『cashbook』
  • 异常检测方法
  • 在网站建设时,如何选择适合自己的网站模版
  • rabbitmq单机安装及性能测试
  • 字节流和字符流的区别
  • 【仿真建模-anylogic】EventRate原理解析
  • Linux安装Qt5.14.2
  • Linux so文件无法找到及某条命令找不到的解决办法
  • 工业交换机的供电功率配置
  • 实现一个vue js小算法 选择不同的时间段 不交叉
  • GStreamer安装——iOS
  • 【云计算】Docker部署Nextcloud网盘并实现随地公网远程访问
  • 贪心+构造,CF1153 C. Serval and Parenthesis Sequence
  • 网络安全等级保护基本要求 第1部分:安全通用要求
  • ubuntu22.04防火墙策略
  • selenium的使用教程
  • Centos: ifconfig command not found且ip addr查不到服务器IP
  • WPF学习(2)--类与类的继承2-在窗口的实现
  • Docker面试整理-Docker容器与虚拟机比较,安全性如何?
  • Python私教张大鹏 Vue3整合AntDesignVue之Checkbox 多选框
  • flutter 导出iOS问题3
  • 用winform开发一个笔记本电脑是否在充电的小工具
  • 构建汛期智慧水利新生态:EasyCVR视频汇聚监控综合管理方案解析
  • linux中HADOOP_HOME和JAVA_HOME删除后依然指向旧目录
  • C++中的结构体——结构体案例1_2
  • python接入汇率换算工具提高网站/小程序日活度