Задача с контеста, комментарии ревьюера
Ответы (1 шт):
Автор решения: nomnoms12
→ Ссылка
Для начала разберёмся с терминологией. Упрощённо:
- Метод — это функция в классе
- Атрибут — это переменная в классе
У вас всего один класс — Dek. И ревьюер хочет, чтобы вы в него добавили функцию is_full:
class Dek:
def is_full(self):
self._size >= len(self._data)
Далее ревьюер просит вас добавить переменную max_size. Он считает, что лучше не вызывать функцию len каждый раз при проверке условия (максимальный размер уже не изменится):
class Dek:
def __init__(self, max_size):
self._max_size = max_size
def is_full(self):
self._size >= self._max_size
И, конечно, вы должны использовать только что созданный метод:
class Dek:
def __init__(self, max_size):
self._max_size = max_size
def is_full(self):
self._size >= self._max_size
def _push(self, i, di, value):
if self.is_full():
raise OverflowError

