import logging
logging.basicConfig(level=logging.INFO)
class PasswordTool:
def __init__(self,password):
self.password = password
self.strength_level = 0
def process_password(self):
if len(self.password) >= 8:
self.strength_level += 1
else:
logging.info('密码长度要求至少8位!')
if self.check_number_exist():
self.strength_level += 1
else:
logging.info('密码长度要求包含数字!')
if self.check_letter_exist():
self.strength_level += 1
else:
logging.info('密码长度要求包含字母!')
def check_number_exist(self):
has_number = False
for c in self.password:
if c.isnumeric():
has_number = True
break
return has_number
def check_letter_exist(self):
has_letter = False
for c in self.password:
if c.isalpha():
has_letter = True
break
return has_letter
def main():
try_times = 5
while try_times > 0:
password = input('请输入密码:')
password_tool = PasswordTool(password)
password_tool.process_password()
f = open('password.txt','a')
f.write('密码:{},强度:{}\n'.format(password,password_tool.strength_level))
f.close()
if password_tool.strength_level == 3:
print('恭喜!密码强度合格!')
else:
print('密码强度不合格!')
try_times -= 1
print()
if try_times <= 0:
print('尝试次数过多,密码设置失败!')
if __name__ == '__main__':
main()