Vladislav
а, понял
Oleg
Ну это основы алгоритмов рекурсии, на этой игрушке учишься делать алгоритм перемещения пирамидки с 1 пика на 3. Условия при этом насчёт перемещения 1 диска за ход и насчёт больший на меньший не ложится
Dmitry
А, не, туплю, заработался, видимо. На картинке начальные условия?
Oleg
А, не, туплю, заработался, видимо. На картинке начальные условия?
Нет, началка - ровная пирамида на одном пике
Oleg
Надо переместить на другой
Dmitry
Надо переместить на другой
Ну и количество фигур на ней, очевидно, не важно...
Oleg
Ну и количество фигур на ней, очевидно, не важно...
Да, рекурсия в помощь. Помню, это у Хирьянова в лекциях красиво решалось. Списать код не успел
Dmitry
Видел мем про "я рекурсивный алгоритм" от него?)
Dmitry
Вкину. Сначала я подумал, ну и стыдоба. А потом как-то так подумал, а вообще-то вполне ничего ))) https://www.youtube.com/watch?v=n3Q_FIJ6s-s&ab_channel=%D0%A2%D0%B8%D0%BC%D0%BE%D1%84%D0%B5%D0%B9%D0%A5%D0%B8%D1%80%D1%8C%D1%8F%D0%BD%D0%BE%D0%B2
Andrii
Напиток рекурсивный: 20% спирт, 30% вода, 50% напиток рекурсивный.
Dmitry
😂
Victor
Привет Всем Написал сравнения сортировок по времени, сколько какая сортировка выполняется по времени. Язык Python. Кому не сложно посмотрите код https://github.com/VictorUral/Sorting_Comparison Дайте отзыв в плане мб ошибки в коде есть и можно ли так время замерять выполнения функций.
Panavia
Почему?
Читаемость наверное получше
Panavia
Фактически это одно и то же работе кода
Каспар
нужно было бы использовать deepcopy, если были бы какие-то изменения вложенных mutable объектов
Каспар
С каких пор пробелы, а не табы? У него просто почему двойные табы
читай PEP8, смешивать табы и пробелы вообще нельзя, табы не рекомендуются
Каспар
Привет Всем Написал сравнения сортировок по времени, сколько какая сортировка выполняется по времени. Язык Python. Кому не сложно посмотрите код https://github.com/VictorUral/Sorting_Comparison Дайте отзыв в плане мб ошибки в коде есть и можно ли так время замерять выполнения функций.
def time_measuring(f: Callable) -> Callable: @functools.wraps(f) def wrapped(*args, **kwargs): start = time.perf_counter() result = f(*args, **kwargs) exec_time = time.perf_counter() print(f"{f.__name__} executed, {exec_time:.2f}") return result return wrapped @time_measuring def insert_sort(): pass @time_measuring def bubble_sort(): pass я бы так сделал
Каспар
Кинь эту рекомендацию
https://www.python.org/dev/peps/pep-0008/
Александр
Лады сорян, вижу
Александр
Ну, конечно, за*бешься 4 раза пробелы тыкать
Каспар
PyCharm и все остальные IDE автоматически меняют табы на пробелы
Igor
Тайпхинты в таком проекте кому нужны я хз)
Каспар
Тайпхинты в таком проекте кому нужны я хз)
это стандарт индустрии: пишешь код — пишешь тайп хинты ну ещё желательно тесты и автопроверка качества кода с flake8 с mypy
Алексей
Вам показалось)
Просто у каждого своя индустрия))
Igor
Тут нет индустрии тут учебный код который не будет переиспользоваться
Igor
Более того вы своими декораторами в том числе сломали реюзабельность кода. Кесарю кесарево.
Каспар
Тут нет индустрии тут учебный код который не будет переиспользоваться
как думаешь, какой вывод сделает технический интервьюер, увидев хуёвый год в репо? правильно! он поймёт, что этот чувак пишет хуйвый код
Каспар
а если он увидит тесты, использование GH actions, подписанные gpg коммиты итд — это только плюс
Igor
как думаешь, какой вывод сделает технический интервьюер, увидев хуёвый год в репо? правильно! он поймёт, что этот чувак пишет хуйвый код
ну если он такой же задрот как ты то да :) а если человек отличает тестовый проект от того же пета то врядли :)
Andrii
Т. е. функцию bubble_sort нельзя вызывать просто так, обязательно с выводом сообщения о времени выполнения?
Каспар
Igor
я как человек, собеседующий кандидатов, говорю, что ты заблуждаешься
Вообще не аргумент :) я как человек который собеседует кандидатов говорю тебе что ты заблуждаешься и пеп говорит то же самое Python will remain a dynamically typed language, and the authors have no desire to ever make type hints mandatory, even by convention.
Igor
А в пет ты рекомендуешь?
Тайп хинтин нужен в бм крупном проекте по умолчанию. В мелких имхо нафиг не нужен только загромаождает текст
Igor
Саша, я думал это когда-то было. А это прямо сейчас ты без работы? 😳😳😳
Нет это лэйзи выкладка :) он выложил все после того как нашел работу :) в первом видео про это было
Victor
Т. е. функцию bubble_sort нельзя вызывать просто так, обязательно с выводом сообщения о времени выполнения?
Ну я изначально писал, что просто сравнение сортировок по времени выполнения
Dmitriy (Дима)
Нет это лэйзи выкладка :) он выложил все после того как нашел работу :) в первом видео про это было
Фууух, слава Богу, а то я смотрю 18 часов назад. А уволили в пятницу в 17 часов... Короче Шерлок Холмс из меня никакой 😂
Victor
Спасибо Всем кто оставил отзыв
Igor
Я честно говоря не понимаю людей которые топят за тайп хинтинг везде, нахрена вы выбрали питон? :)
Victor
Замечания учту ))
Andrii
Я честно говоря не понимаю людей которые топят за тайп хинтинг везде, нахрена вы выбрали питон? :)
Ну... ну в C++ жёсткий, и там auto восприняли как крутую фичу. В пайтоне всё наоборот :)
Alexander
Саша, я думал это когда-то было. А это прямо сейчас ты без работы? 😳😳😳
это было полгода назад. Я записывал каждую неделю дневник и сейчас выпускаю его. слава богу сейчас я на норм работе, и там знают про мою историю (в англии такие истории - это чуть ли не ппц, так что я легко отделался)
Alexander
еще пара выпусков)
Victor
Ну и если докапываться то sorted_python это слишком сложный способ ничего не делать. Все функции сортируют массив, а эта не делает ничего)
А как тогда замерить время, выполнения стандартной сортировки Python? Нужно чтобы она возвращала что то ?
Victor
Оке
Igor
Оке
основная логическая ошибка там это метод choice sort ( хотя правильно он называется selection sort). Идея метода в минимизации перестановок, а твоя реализация этого не делает, поэтому ее нельзя считать сортировкой выбором
Victor
Понял, почитаю ещё про нее
Mikhail
А как тогда замерить время, выполнения стандартной сортировки Python? Нужно чтобы она возвращала что то ?
Ну и, все же, брать минимальное время как метрику - это такое себе. Возьмите медиану хотя бы, более репрезентативно будет.
Михаил
Это вот, чтобы я сделал свой первый "калькулятор" Реакт мне поставил 2тыс. модулей!? Это вот так оно работает!? =)
Cat.cpp
Ребят, планирую в будущем перейти на win 11. Сейчас у меня в ноуте 2 плашки по 4. Есть возможность заменить одну на 8 = 12. Стоит ли это делать и повлияет ли вообще на работу новой системы ?
Vladislav
а где можно графический интерфейс под Си бахнуть?
Erik
Как называются вот эти штуки: "%i", "%.1f%"? Вот пример: print ("Survived: %i (%.1f%%)"%(len(survived), float(len(survived))/len(train)*100.0)) print ("Not Survived: %i (%.1f%%)"%(len(not_survived), float(len(not_survived))/len(train)*100.0))
Cat.cpp
Та у меня просто ЕСТЬ такая возможность в ноуте, вот и спросил - спешить с этим или оставить на потом, когда появится другая проблема
Cat.cpp
А то может будет прям большая разница между 8 и 12
Egor
Та у меня просто ЕСТЬ такая возможность в ноуте, вот и спросил - спешить с этим или оставить на потом, когда появится другая проблема
Если тебе сейчас хватает под твои задачи, то я бы не спешил, возможность в ноуте только одну плашку поменять??
Erik
Спасибо
Cat.cpp
Я то люблю красоту и скорость ))))
Egor
ну тогда поставь, будет побыстрее