# Практика по property from string import digits class User: def __init__(self, login, password) -> None: self.login = login self.password = password self.__secret = 'abracadabra' @property def secret(self): s = input("Введите ваш пароль: ") if s == self.password: return self.__secret else: raise ValueError("Value error") @property def password(self): print('getter called') return self.__password @staticmethod def is_include_number(password): for digit in digits: if digit in password: return True return False @password.setter def password(self, value): print('setter called') if not isinstance(value, str): raise TypeError("Пароль должен быть строкой") if len(value) < 4: raise ValueError("Длина пароля должна быть не менее 4-ех символов") if len(value) > 12: raise ValueError("Длина пароля должна быть не более 12-и символов") if not User.is_include_number(value): raise ValueError("Пароль должен содержать хотя бы одну цифру") self.__password = value def main(): user1 = User('Ivan', '123df') if __name__ == '__main__': main()