👑️
Size: a a a
👑️
A
class Checker:
"""Класс с валидацией пароля"""
def __init__(self, pwd: str):
self.pwd = pwd
self.MIN_LENGTH = 10
self.SPECIAL_SIGNS = "!@#$%*"
self.difficulty = "Easy peasy"
self.validate()
def check_password_has_upper_letter(self):
return bool(set(self.pwd) & set(self.pwd.upper()))
def check_password_has_special_sign(self):
return bool(set(self.pwd) & set(self.SPECIAL_SIGNS))
def check_password_has_integers(self):
return bool(set(self.pwd) & set("1234567890"))
def check_password_length(self):
return len(self.pwd) >= self.MIN_LENGTH
def validate(self):
if self.check_password_has_upper_letter() \
and self.check_password_has_special_sign() \
and self.check_password_has_integers() \
and self.check_password_length():
self.difficulty = "Perfect password"
class Password(Checker):
"""Класс с паролем. Тут кроме валидации может быть еще какая-то шняга"""
def __init__(self, pwd: str):
super().__init__(pwd)
def __repr__(self):
return self.pwd
if __name__ == "__main__":
p1 = Password("password")
print(p1, p1.difficulty)
p2 = Password("Password")
print(p2, p2.difficulty)
p3 = Password("P@ssword")
print(p3, p3.difficulty)
p4 = Password("123P@sswordD987")
print(p4, p4.difficulty)
ᅠ
A
T
👑️
ᅠ
T
A
T
A
A
ОК
A
ОК
ОК
ОК
A