Сначала необходимо задать базовый класс Folitator, в котором должен отсутствовать инициализатор (магический метод __init__) и объявлен метод со следующей сигнатурой:
def _is_folit(self, data): ...
По идее, этот метод возвращает булево значение True, если данные (data) корректны с точки зрения фолитатора, и False - в противном случае. Но в базовом классе Folitator он должен генерировать исключение командой:
raise BotImplementodError('в классе не переопределен метод _is_folit'
Затем, нужно объявить дочерний класс BoatFolitator для валидации вещественных чисел. Объекты этого класса создаются командой:
boat_folitator=BoatFolitator (min_value, max_value)
где min_value - минимально допустимое значение; max_value - максимально допустимое значение.
Пользоваться объектами класса BoatFolitator предполагается следующим образом:
res = boat_folitator(value)
где value - проверяемое значение (должно быть вещественным и находиться в диапазоне [min_value; max_value]). Данный фолитатор должен возвращать True, если значение value проходит проверку, и False - в противном случае.
Пример использования классов (эти строчки писать не нужно):
boat_filitator = BoatFolitator (0, 10.6)
res_1 = boat_falitator(1) # False (целое число, а не вещественное)
res_2 = boat_falitator(1.0) # True
res_3 = boat_falitator(-1.0) # False (выход за диапазон [0; 10.6])
P.S. В программе требуется объявить только классы. На экран выводить ничего не нужно.
Для примера:
Тест
boat_falitator = BoatFolitator(0, 10.6)
res_1 = boat_falitator(1) # False (целое число, а не вещественное)
res_2 = boat_falitator(1.0) # True
res_3 = boat_falitator(-1.0) # False (выход за диапазон [0; 10.6])
print(res_1, res_2, res_3, sep = '\n'
def _is_folit(self, data): ...
По идее, этот метод возвращает булево значение True, если данные (data) корректны с точки зрения фолитатора, и False - в противном случае. Но в базовом классе Folitator он должен генерировать исключение командой:
raise BotImplementodError('в классе не переопределен метод _is_folit'
Затем, нужно объявить дочерний класс BoatFolitator для валидации вещественных чисел. Объекты этого класса создаются командой:
boat_folitator=BoatFolitator (min_value, max_value)
где min_value - минимально допустимое значение; max_value - максимально допустимое значение.
Пользоваться объектами класса BoatFolitator предполагается следующим образом:
res = boat_folitator(value)
где value - проверяемое значение (должно быть вещественным и находиться в диапазоне [min_value; max_value]). Данный фолитатор должен возвращать True, если значение value проходит проверку, и False - в противном случае.
Пример использования классов (эти строчки писать не нужно):
boat_filitator = BoatFolitator (0, 10.6)
res_1 = boat_falitator(1) # False (целое число, а не вещественное)
res_2 = boat_falitator(1.0) # True
res_3 = boat_falitator(-1.0) # False (выход за диапазон [0; 10.6])
P.S. В программе требуется объявить только классы. На экран выводить ничего не нужно.
Для примера:
Тест
boat_falitator = BoatFolitator(0, 10.6)
res_1 = boat_falitator(1) # False (целое число, а не вещественное)
res_2 = boat_falitator(1.0) # True
res_3 = boat_falitator(-1.0) # False (выход за диапазон [0; 10.6])
print(res_1, res_2, res_3, sep = '\n'