Python学习之:类和面向对象

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()
posted @ 2020-04-03 13:37  滴滴滴滴答  阅读(129)  评论(0编辑  收藏  举报