目录
程序需求:
编写代码,用户输入密码,password>=8, 如果password,在10位以上,含有数字,或大写字母,小写字母,标点符号 则加1分,总计5分,1-5:弱,较弱,中,较强,强 输出密码等级格式如:“5*强”
代码及其相应的注释:
# -*- encoding: utf-8 -*-
"""
@author:Low-level programmer
"""
import re
if __name__ == '__main__':
"""
编写代码,用户输入密码,password>=8,
如果password,在10位以上,含有数字,或大写字母,小写字母,标点符号
则加1分,总计5分,1-5:弱,较弱,中,较强,强
输出密码等级格式:“5*强”
"""
str='12345Aa,aaA' # 只是用来测试的字符串
password=input("请设置密码:")
while(len(password)<8):
password=input("密码长度小于8,请重新设置密码:")
level=0 # 等级初始值
if (len(password)>10): # 判断密码的长度是否有10位
level +=1
if len(re.compile('[0-9]+' ).findall(password)) >0: #匹配数字
level+=1
if len(re.compile('[A-Z]+').findall(password))>0: # 匹配大写字母,如果找到了大写字母会返回一个列表,如果列表有长度表示有数据
level += 1
if len(re.compile('[a-z]+').findall(password)): # 匹配小写字母
level += 1
if len(re.compile(r"[\u4e00-\u9fa5-\,\。\?\!\| \… \.\,\' \: \( \) \、 \~ \【 \】 \· \「 \」 \— \/ \{ \} ]").findall(str)) >0:
level+=1
if(level==5):
print("5*强")
elif(level==4):
print("4*较强")
elif(level==3):
print("3*中")
elif(level==2):
print("2*弱")
else:
print("1*较弱")
以上的代码为个人思路,仅供参考,如果代码还有什么不足的地方请在评论区留言,或者是对于上面的代码任何疑问的也请在评论区留言。