博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python字符串、集合练习_密码校验
阅读量:4598 次
发布时间:2019-06-09

本文共 1966 字,大约阅读时间需要 6 分钟。

校验密码是否合法:

1、输入一个密码要求长度在5-10位:len()

2、密码里面必须包含:大写字母,小写字母和数字:字符串方法或者集合

3、最多输入5次:for

 

用字符串方法实现:

for i in range(5):    passwd = input('请输入你的密码')    num = 0 #初始化需要放在循环里,每次输入密码都需要重新初始化    lower = 0    upper =0    if len(passwd)>4 and len(passwd) <11: #判断密码长度在5-10位        for pwd in passwd:  #循环字符串中的字符            if pwd.isdigit(): #字符是否是数字                num += 1            elif pwd.islower(): #字符是否是小写字母                lower += 1            elif pwd.isupper(): #字符是否是大写字母                upper += 1        if num and lower and upper: #若数字、大写及小写均为真,则满足密码包含大小写字母和数字            print('密码输入成功')        else:            print('密码必须包含大小写字母及数字')    else:        print('密码长度必须在5-10位')

用isdisjoint()集合方法实现:

num = {'0','1','2','3','4','5','6','7','8','9'} #定义数字集合,因为输入的密码为字符串,所以要将数字定义为string类型lower = {'a','b','c','d','e','f','g','h','i','g','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'} #定义小写字母集合upper = {'A','B','C','D','E','F','G','H','I','G','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'} #定义大写字母集合for i in range(5):    passwd = input('请输入你的密码')    pwd = set(passwd)  #将字符串转化为集合    if len(passwd) >4 and len(passwd)<11: #判断密码长度在5-10位        if pwd.isdisjoint(num) or pwd.isdisjoint(lower) or pwd.isdisjoint(upper): #判断是否没有交集    #若输入密码集合与数字、小写、大写集合任何一个没有交集,则不满足密码包含大小写字母和数字            print('密码里面必须包含大小写字母及数字')        else:            print('密码输入成功')            break    else:        print('密码长度必须在5-10位')

用交集实现

import stringnum_set=set(string.digits)upper_set = set(string.ascii_uppercase)lower_set = set(string.ascii_uppercase)pun = set(string.punctuation)for i in range(5):    passwd = input('请输入密码')    pwd = set(passwd) #将字符串转化为集合    if len(passwd) > 4 and len(passwd) < 11:        if pwd & num_set and pwd & upper_set and  pwd & lower_set and pwd & pun:            print('密码合法')            break        else:            print('密码必须包含大小写字母和数字')    else:        print('密码长度必须在5-10位')

转载于:https://www.cnblogs.com/weilemeizi/p/9003177.html

你可能感兴趣的文章
IOS7开发~新UI学起(二)
查看>>
软件过程度量和CMMI模型概述
查看>>
数据结构(DataStructure)与算法(Algorithm)、STL应用
查看>>
Linux与Windows xp操作系统启动过程
查看>>
linux运维、架构之路-Kubernetes1.13离线集群部署双向认证
查看>>
[Leetcode]Substring with Concatenation of All Words
查看>>
Gem install rmagick 报错问题~
查看>>
验证一个方法触发时机
查看>>
25句充满正能量的句子
查看>>
python学习手册笔记——27.更多实例
查看>>
Spring Cloud Alibaba 新版本发布:众多期待内容整合打包加入!
查看>>
Android Camera 使用小结
查看>>
20170908 校内模拟赛 游戏
查看>>
P1774 最接近神的人_NOI导刊2010提高(02)
查看>>
4245: [ONTAK2015]OR-XOR
查看>>
DataGridView的DataGridViewCheckBox问题
查看>>
C#导出成Excel文档
查看>>
C语言指针总结
查看>>
关于MFC项目中使用WebBrowser控件禁止脚本错误的方法 .
查看>>
年会抽奖程序的一些总结
查看>>