admin管理员组文章数量:1794759
python编程100例:密码校验
1.判断密码是否大于8位数2.判断密码是否由数字、大小写字母、其他字符组成3.判断密码是否包含重复的、4位以上的子字符串,即4位子串是否重复4.主函数
# 判断密码是否大于8位 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 if not (char.isalpha()|char.isdigit()|char.isspace()): check[3] = 1 print (check) # 当列表中4个元素的值都是1,即各项之和是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 = pwd[i:i+4] str2 = pwd[i+4::] if str1 in str2: return False return True # 主函數 if __name__ == '__main__': meg=""" 1.密碼必須由大小寫字母,數字,其他字符組成 2.密碼長度必須是8位大 3.重複不得包含長度為4的子串 """ print(meg) 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('密码含有2个以上重复子串') continue print('密码正确') break版权声明:本文标题:python编程100例:密码校验 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686984805a125501.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论