将密码强度判断的相关方法,封装到工具类PasswordTool类当中;
"""
定义与password相关的工具类
"""
class PasswordTool:
"""
密码工具类
"""
# 初始化属性
def __init__(self,password): # self代表类本身的实例
self.password = password
self.strength_level = 0
# 处理密码的方法
def process_password(self):
if self.has_number(): # 判断密码中是否存在数字,存在则评价加1
self.strength_level += 1
if self.has_letter(): # 判断密码中是否存在字母,存在则评级加1
self.strength_level += 1
if 8 <= len(self.password) <= 16: # 如果密码长度符合要求则评级加1
self.strength_level += 1
# 判断密码当中是否存在数字
def has_number(self):
for c in self.password:
if c.isnumeric():
return True
return False
# 判断密码当中是否存在字母
def has_letter(self):
for c in self.password:
if c.isalpha():
return True
return False
# 接收用户输入,并传入方法当中
def main():
setting_times = 1
while setting_times <= 3:
pwd = input("请输入密码:")
password_tool = PasswordTool(pwd)
password_tool.process_password()
stren_len = password_tool.strength_level
print("第{}次输入的密码为{},此密码的强度为{}".format(setting_times, pwd, stren_len))
setting_times += 1
if __name__ == '__main__':
main()
Y:\Python\Anaconda\python.exe Y:/PythonWorkspace/PasswordReliablity/PasswordRank4.py
请输入密码:123
第1次输入的密码为123,此密码的强度为1
请输入密码:yanhao
第2次输入的密码为yanhao,此密码的强度为1
请输入密码:yanhao123
第3次输入的密码为yanhao123,此密码的强度为3
Process finished with exit code 0
前段时间因为赶论文,所以给了自己不打卡的借口;
特此提醒一下自己,还是应当坚持!干巴爹捏!