Abramov
Матанал знаешь?)) хотя бы)
Ща мы парня разочаруем. 😂
Dmitriy
Распиши на листе функцию, стек вызова, каждый раз возвращая значение. Это поможет понять, потому что в голове 6 итераций не удержать
Я просто не понимаю когда функция понимает,что ей наступил стоп,если значение к=6 уже после функции
Alexandr
Ща мы парня разочаруем. 😂
И он станет фронтэндером😄😄
Dmitriy
Матанал знаешь?)) хотя бы)
Не знаю,но в школе и шараге всегда математику любил.закончил связиста,а там физика,математика.думаю не беда будет вспомнить,или выучить)
Alexandr
Я просто не понимаю когда функция понимает,что ей наступил стоп,если значение к=6 уже после функции
Ты каждый раз уменьшаешь к на единицу, и снова вызываешь функцию. Как только к становится 0, все вызовы функции завершаются в обратном порядке
Alexandr
Я просто не понимаю когда функция понимает,что ей наступил стоп,если значение к=6 уже после функции
Функция не завершается каждый раз после вызова новой, она висит в стеке и ждёт пока завершится выполнение следующей
Dmitriy
Просто если к=6,почему оно стартует с 0?
Abramov
Просто если к=6,почему оно стартует с 0?
Оно результат выводит с нуля, достигнув предела условий.
Alexandr
Просто если к=6,почему оно стартует с 0?
Пишешь на листах цифры от 6 до нуля, и складываешь в стопку. Какая будет сверху?
Alexandr
ну 6
Будет 0
Dmitriy
да бля😂
Alexandr
ну 6
А чтобы добраться до 6, нужно снять все последовательно. 6 никуда не исчезла, она ждёт пока ты снимешь 0 1 2 3 4 5
Alexandr
Принцип FILO. 6 ты положил первой, а достал последней. First in, last out
Dmitriy
ну это то понятно
Abramov
а,не так понял
https://pythontutor.com/visualize.html#mode=edit вот сюда загони свой код, посмотри как меняются переменные и стек вызова.
Alexandr
А чтобы добраться до 6, нужно снять все последовательно. 6 никуда не исчезла, она ждёт пока ты снимешь 0 1 2 3 4 5
Так же и в стеке. Пока твоя функция не вернёт 0, она не выведет все предыдущие значения
Dmitriy
стоп.а почему после вызова функции идет сразу к принту?
Alexandr
ну это то понятно
Могу ошибаться,, но если ты print поставишь перед result = k +...., порядок поменяется на обратный
Dmitriy
типа из-за того,что пока в первой строк к пустое?
Alexandr
Dmitriy
Abramov
Потому что объявление функции и ее вызов - разные вещи. И между вызовом и объявлением как раз и есть принт.
Dmitriy
т.е. когда к призначен 6,оно приступает к выполнению функции?
Alexandr
У тебя первый вызов, когда к = 6, не доходит до принт, а вызывает ещё раз функцию. Так же и второй, и третий. Принт вызывается, когда к становится 0, и начинается обратный вызов функции из стека, то есть каждая новая итерация возвращает значение предыдущей
Abramov
т.е. когда к призначен 6,оно приступает к выполнению функции?
Не признан. Это вызов функции. До этого ты её просто описывал.
Dmitriy
вспоминаю цитату бузовой:"я ничего не понимаю"🥲🥲🥲
Abramov
Логика интерпретатора. Ты описал функцию, вызвал принт, вызвал функцию.
Alexandr
Тогда будет бесконечная рекурсия.
Возможно. Из интереса, завтра в иде прогоню)
Abramov
Dmitriy
Братиш, ты только только начал видать?
ну как только..месяц где-то
Abramov
Иди на степик, там есть 2 прекрасных курса
Alexandr
вспоминаю цитату бузовой:"я ничего не понимаю"🥲🥲🥲
Попробуй запустить функцию со значением 2, и прокрутить её в голове. Так будет проще
Dmitriy
да хочу сначала сам разобраться прежде бабки платить
Abramov
ну как только..месяц где-то
Это вообще пороху не нюхал
Dmitriy
а,да?😦а подкинешь ссылку на них?
Alexandr
ну как только..месяц где-то
А раньше прогал что-то? Хоть на бейсике?
Dmitriy
А раньше прогал что-то? Хоть на бейсике?
вообще ничего.с++ изучал лет 8-10 назад
Yaroslav
Кому-нибудь хоть раз понадобилось в жизни и работе знание сортировок?) Понимаю, вопрос, наверное, миллион раз заданный, но всё же
Dmitriy
но так и не пошло дальше
Alexandr
вообще ничего.с++ изучал лет 8-10 назад
Я даже не буду спрашивать, почему забросил 😄
Dmitriy
а что,плюсы плохо?)
Alexandr
а что,плюсы плохо?)
Сложно! Там миллион способов выстрелить себе в ногу, причём поймёшь это уже в процессе выполнения. На питоне компилятор тебя убережет от многих ошибок Сложный синтаксис, громоздкие конструкции. Не лучший выбор для начинающих
Abramov
Первый
Yaroslav
Ого, даже так
Abramov
Первый
https://stepik.org/course/512/promo второй. Второй прямо по хардкору, если до этого нигде и никак. Но очень клёвый.
Alexandr
Но все по разному используют эти конструкции. В жаве используется си-подобный синтаксис, но читать джава код гораздо проще, чем на плюсах
Dmitriy
миллиард плюсов в карму вам,ребята)
Abramov
спасибо огромное
Было б за что. Бессонных ночей тебе ))
Yaroslav
Да. Даже перестановки не так давно понадобились, что более удивительно.
Просто у меня ощущение что учить их алгоритмы наизусть это бесполезная затея, знать какая сортировка стабильная, какая нет, какая сортирует на месте а какая с доп. памятью уже более полезно, но сами алгоритмы же гуглятся за 2 минуты, в чём прикол их заучивания
Dmitriy
Было б за что. Бессонных ночей тебе ))
та вот как раз с вечера до ночи и учу каждый "день"😅
Alexandr
Минутка занудства. Там нет компилятора. Есть интерпретатор. Python интерпретируемый язык.
Серьёзно? Спасибо что просветил, и спас от позора в будущем)
Abramov
Все языки схожи, у всех есть if - else, print, do while
Расскажи это джаве с объявлением класса для "hello world" )))
Alexandr
Расскажи это джаве с объявлением класса для "hello world" )))
Ой, всё! Питонисты могут бесконечно рассказывать про синтаксический сахар их языка 😄
Mikhail
Просто у меня ощущение что учить их алгоритмы наизусть это бесполезная затея, знать какая сортировка стабильная, какая нет, какая сортирует на месте а какая с доп. памятью уже более полезно, но сами алгоритмы же гуглятся за 2 минуты, в чём прикол их заучивания
Ни в чем, это просто базовый CS, на основе которого строятся более сложные вещи. Это как знание таблицы умножения, которая используется для более сложных вещей, и которую, конечно же, можно загуглить всегда.
Mikhail
Но если вы работаете в сфере перекладывания json, то не стоит тратить время, да.
Abramov
Ни в чем, это просто базовый CS, на основе которого строятся более сложные вещи. Это как знание таблицы умножения, которая используется для более сложных вещей, и которую, конечно же, можно загуглить всегда.
Ну, не согласен. Алгоритмы - это отдельная вещь, сама в себе. Надо только понимать преимущество одного алгоритма перед другим, и то, на уровне мидл+. В остальном пахеру, для большинства алгоритмов есть реализация на любом ЯП.
Alexandr
Ни в чем, это просто базовый CS, на основе которого строятся более сложные вещи. Это как знание таблицы умножения, которая используется для более сложных вещей, и которую, конечно же, можно загуглить всегда.
Моё мнение - учить стоит, это развивает логическое мышление и помогает понять другие алгоритмы. Но зубрить наизусть не стоит. Вникнул, пошёл дальше. Перед собесом повторил, и опять живёшь себе
Dmitriy
кароче мой мозг на сегодня еррор..сначала понял как работает,а потом потерял "точку входа".это со всеми такие затупы на элементарных вещах бывают,или я особенно тупой?
Mikhail
Ну, не согласен. Алгоритмы - это отдельная вещь, сама в себе. Надо только понимать преимущество одного алгоритма перед другим, и то, на уровне мидл+. В остальном пахеру, для большинства алгоритмов есть реализация на любом ЯП.
На этих алгоритмах построены все инструменты по сути. Если нужно понимание, как работает тот или иной инструмент (или работа заключается в создании новых инструментов), тогда это маст хев.