код такой:
class RecordedItem(int):
compare_count = 0
def __init__(self):
self._value = 0
def __gt__(self, other):
RecordedItem.compare_count += 1
return self._value > other._value
def __lt__(self, other):
RecordedItem.compare_count += 1
return self._value < other._value
Верно ли понимаю, что больше ничего не надо и все остальное приедет путем наследования из int ?
Так, а зачем ты атрибут класса меняешь?
Вообще операций сравнения сильно больше 2: < > <= => == !=
Это основная цель этого класса. Мне надо посчитать кол-во сравнений для всех экземпляров моего int
А что это вообще делать? По факту ты сделал класс, который имеет одно значение - ноль
Это какая-то учебная задача или реальная?
Да, учебная. Книгу по алгоритмам прорабатываю. Мне надо видеть сколько сравнений
Тогда тебя куда то не туда завернуло
Можно подсчитать кол-во сравнений еще более простым способом? Как? Мне пока придумалось что на каждое число создать свой класс int который в своих переопределенных операциях сравнениях будет собирать статистику их использования. Я рад услышать и другие решения
Ты там сортировку пишешь?
У меня питон не под рукой, не могу накидать
а при таком определении не будет рекурсии случайно?)
Я просто не понял о чем речь. Ты про total ordering?
тебе в целом _value не нужен, у тебя родитель сам хранит значение
Я тебе больше скажу! Я мазохизом занялся! Я VIM в свою практику добавил и убрал VsCode )))
Не флуди
!report
Спасибо за жалобу. Сообщение evle [238913477] отправлено администраторам на проверку.
Ты наивно думаешь, что админы не видят удалённых сообщений?
Спасибо за жалобу. Сообщение evle [238913477] отправлено администраторам на проверку.
Обсуждают сегодня