Как создать настраиваемое поле кругового счетчика в Django?

Я пытаюсь решить этот вопрос как задачу на hackerrank, но застрял.

Django: Настраиваемое поле кругового счетчика

В этой задаче ваша задача - реализовать пользовательское поле модели под названием CircularCounterField как поле для хранения предоставленного класса CircularCounter.

Круговой счетчик - это объект, хранящий значение, которое первоначально устанавливается на заданное начальное значение и может быть увеличено. После заданного числа приращений от начального значения (назовем это число cycle_len) значение сбрасывается на начальное значение. Например, если start=1 и cycle_len=2, то начальное значение равно 1. После первого приращения значение становится равным 2. После второго инкремента значение сбрасывается на начальное значение, т.е. 1. Затем, после третьего инкремента, значение становится 2, после четвертого инкремента - снова 1, и так далее.

Класс CircularCounter - это очень простой класс для хранения состояния кругового счетчика:

class Circular Counter: def init(self, start, cycle_len, value=None): if not isinstance (start, int): raise ValueError("start must be int") if not isinstance (cycle_len, int) or cycle_len <= @: raise ValueError("cycle_len must be a positive integer") if value is not None: if not isinstance (value, int) or not (start <= value < start+cycle_len): raise ValueError("value must be integer in range (start, start+cycle_len)") self.start = start self.cycle_len = cycle_len self._value = value if value is not None else start

Вопрос часть 1

Вопрос часть 2

Прошу помощи, спасибо

Вернуться на верх