import re
answer = False
print('--------密码安全性检查程序-------')
while answer == False:
temp = input('请键入您的密码')
if len(temp) < 2:
print('您的密码小于16位,安全强度低,请更改')
answer = False
continue
elif temp.isdigit() == True:
print('您的密码安全评级为:低')
print('请以以下方法提升您的密码安全级别')
print('1,密码必须由数字,字母及特殊字符三种组合')
print('2,密码只能由字母开头')
print('您的密码不符合要求')
answer = False
continue
elif temp[0].isalpha() == False:
print('您的密码未以字母为开头')
print('密码只能由字母开头')
answer = False
continue
elif temp.isalpha() == True:
print('您的密码中不能只含有字母')
print('密码必须由数字,字母及特殊字符三种组合')
answer = False
continue
else:
standard = '[~!@#$%^&*()_=-\\\/\\,.?\\<\\>;:\\[\\]\\{\\}\\|a-z0-9A-Z]+'
#print(re.fullmatch(standard, temp[1:]))
if re.fullmatch(standard, temp[1:]) !=None:
print('您的密码安全评级为:高')
print('请继续保持')
answer = True
break
else:
print('您的密码安全评级为:低')
print('请以以下方法提升您的密码安全级别')
print('密码必须由数字,字母及特殊字符三种组合')
print('密码中必须包含有合法的字符')
print('该程序所支持的合法字符有:')
print(r"'~!@#$%^&*()_=-/,.?<>;:[]{}|\'")
answer = False
continue
正则不太会写,不知道写的对不对,如果用正则就可以匹配出非法字符了 |