170 похожих чатов

Прошу подсказать как правильно написать свой custom int ? Пока мой

код такой:
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 ?

23 ответов

21 просмотр

Так, а зачем ты атрибут класса меняешь?

Вообще операций сравнения сильно больше 2: < > <= => == !=

Dmitry- Автор вопроса
Tishka17
Так, а зачем ты атрибут класса меняешь?

Это основная цель этого класса. Мне надо посчитать кол-во сравнений для всех экземпляров моего int

А что это вообще делать? По факту ты сделал класс, который имеет одно значение - ноль

Dmitry
Это основная цель этого класса. Мне надо посчитать...

Это какая-то учебная задача или реальная?

Dmitry- Автор вопроса
Tishka17
Это какая-то учебная задача или реальная?

Да, учебная. Книгу по алгоритмам прорабатываю. Мне надо видеть сколько сравнений

Dmitry- Автор вопроса
Aleksandr Danilov 🇺🇦
Тогда тебя куда то не туда завернуло

Можно подсчитать кол-во сравнений еще более простым способом? Как? Мне пока придумалось что на каждое число создать свой класс int который в своих переопределенных операциях сравнениях будет собирать статистику их использования. Я рад услышать и другие решения

Ты там сортировку пишешь?

У меня питон не под рукой, не могу накидать

а при таком определении не будет рекурсии случайно?)

Aleksandr Danilov 🇺🇦
У меня питон не под рукой, не могу накидать

Я просто не понял о чем речь. Ты про total ordering?

тебе в целом _value не нужен, у тебя родитель сам хранит значение

Dmitry- Автор вопроса
Tishka17
Ты там сортировку пишешь?

Я тебе больше скажу! Я мазохизом занялся! Я VIM в свою практику добавил и убрал VsCode )))

Похожие вопросы

Обсуждают сегодня

подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
есть тут кто-то , кто только начал изучать си? если проходите курс на степике или как-то сами изучаете, пишите, может, скооперируемся?..
Eule
25
Коллеги, здравствуйте! А можно узнать ваше мнение относительно Wolfram Mathematica vs Julia? Просто у меня стоит выбор между тем, чтобы продолжить преподавать Wolfram Mathemat...
Илья Гаража
10
Обновленный chat тестили уже господа? Готовимся на заводы ? Простой проект на ларавель собирает за 1 ответ..
Jacov Borisov
14
А если без шуток, на чем десктоп сейчас пишут кроссплатформенный (ну чтобы с минимальным допиливанием под каждую платформу) и чтобы хорошая производительность софта была. Толь...
🐈
9
кому не сложно распишите пожалуйста для какой цели тут вот эти скобки и в них пихается указатель?
Михаил Helper
15
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
На одной бирже предложили обновить modx evo 1.0.1 Как думаете, стоит браться?
Artem
9
Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
словил ушиб всей бабки Uncaught Error: Class "EvolutionCMS\Main\MainServiceProvider" not found in и ни composer update, ни composer dump-autoload не помогает что ещё сделать...
Oleg Nosov
7
Карта сайта