概述
系列目录
上一篇:Python编程实例03——对英文文本进行分词
目录
- 系列目录
- 前言
- 一、编程要点
- 二、代码实现
- 总结
前言
关键词:密码校验
一、编程要点
密码校验主要用到判断字符性质的函数,主要如下:
- vbool=str.isdigit()函数判断字符串或字符是否是数字,其中str是字符串或字符,返回vbool是布尔型变量,如果str是数字返回True,反之则返回False。
- vbool=str.isalpha()函数判断字符串或字符是否是字母。
- vbool=str.isspace()函数判断字符是否是空格。
- vbool=str.isupper()函数判断字符串或字符是否是大写字母。
- vbool=str.islower()函数判断字符串或字符是否是小写字母。
二、代码实现
#判断字符串的长度
def check_len(pwd):
if len(pwd) >= 8:
return True
else:
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
#判断是否包含其他符号(除字母or数字or空格)
if not(char.isalpha() | char.isdigit()| char.isspace()):
check[3]=1
#sum不全为4,说明不符合,全为4则符合
if sum(check) < 4:
return False
else:
return True
#判断是否重复4位
def check_rep(pwd):
n = len(pwd)
for i in range(n-4):
#str1,表示任取从i起的4个字符
str1 = pwd[i:i+4]
#str2,表示对从i+1后的字符串对比
str2 = pwd[i+1::]
if str1 in str2:
return False
return True
#主函数
if __name__ == '__main__':
msg='''
1、密码长度不小于8位
2、密码必须由大小写字母、数字、其他符号组成
3、密码不能重复超过4位
(按q退出)
'''
print(msg)
while True:
pwd = input('请输入密码:')
if pwd == 'q':
print('退出程序。。。')
break
vcheck1 = check_len(pwd)
if not vcheck1:
print("密码长度不够8位,请重新输入!")
continue
vcheck2 = check(pwd)
if not vcheck2:
print("密码组成不符合!请重新录入")
continue
vcheck3 = check_rep(pwd)
if not vcheck3:
print("密码包含4位以上的重复,请查看并重新输入")
continue
print("密码正确")
break
运行效果:
1、密码长度不小于8位
2、密码必须由大小写字母、数字、其他符号组成
3、密码不能重复超过4位
(按q退出)
请输入密码:1#tT123
密码长度不够8位,请重新输入!
请输入密码:test11111T#
密码包含4位以上的重复,请查看并重新输入
请输入密码:test#4568
密码组成不符合!请重新录入
请输入密码:tTest#1238
密码正确
总结
还记得以前学习C语言的时候,这个也是基础入门案例,今天通过python又实现了一次,算是留个纪念吧。
最后
以上就是文静小鸽子为你收集整理的Python编程实例04——简单密码校验系列目录前言一、编程要点二、代码实现总结的全部内容,希望文章能够帮你解决Python编程实例04——简单密码校验系列目录前言一、编程要点二、代码实现总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复