#编写函数,实现对密码安全强度检测,然后在主程序中从键盘输入一串(长度为6~20个字符)字符串作为密码,调用密码安全强度检测函数判断密码安全强度等级并打印输出提示。假设密码安全强度等级设定为强(包含数字、字母和符号三类)、中(包含数字、字母和符号两类)、弱(只有一类单一字符的字符串)三个等级
#功能:
def check_number_exist(password_str):
#判断密码为强(包含数字,字母和特殊符号三类)
has_number = False
for c in password_str:
if c.isnumeric():
has_number = True
break
return has_number
def check_letter_exist(password_str):
#判断密码为中(包含数字、字母和符号两类)
has_letter = False
for c in password_str:
if c.isalpha():
has_letter = True
break
return has_letter
def check_string_exist(password_str):
#判断密码为弱(只有一类单一字符的字符串)
has_char = False
for c in password_char:
if c.ischar():
has_char = True
break
return has_char
def main():
#主函数
password = input('请输入密码:')
# 密码强度,初始化为0
strength_level = 0
# 规则1:密码长度大于6
if len(password) >= 6:
strength_level += 1
else:
print('密码强度要求至少6')
# 规则2:密码必须包含数字
if check_number_exist(password):
strength_level += 1
else:
print('密码要求包含数字')
# 规则3:密码必须包含字母
if check_letter_exist(password):
strength_level += 1
else:
print('密码要求包含字母')
if strength_level == 3:
print ('恭喜密码强度合格')
else:
print('抱歉,你的密码不符合要求')
print()