Обложка канала

Goal Gesture программирование, IT

Новости, статьи и полезные материалы из мира IT

Goal Gesture программирование, IT

3 года назад
Открыть в
Как сделать цикл без цикла? Разбираем очередной вопрос из собеседований Часто на собеседованиях на младшие позиции компании хотят проверить, как у вас с нестандартным мышлением и решениями в условиях ограничений. Проще говоря — как вы ведёте себя в необычных ситуациях. Пример такой задачи: 👉 Представьте, что в вашем языке программирования пропали все циклы. Как вы организуете в этом случае три классических цикла: for, while и until? Можно на примере Python или любого другого языка. Решение: Чтобы решить эту задачу, нужно вспомнить, что цикл — это повторение одного и того же несколько раз. Сколько именно раз — зависит от вида цикла. В каждом цикле есть два важных параметра: Переменная цикла, которая должна как-то меняться в процессе. Условие цикла, по которому этот цикл закончится. Получается, что в нашем решении обязательно должны быть эти два компонента, чтобы сымитировать работу цикла. Запомним это и подумаем дальше. Раз нам нельзя использовать циклы, то попробуем сделать так: Выполняем нужные команды. Проверяем условия и смотрим, нужно остановиться или продолжаем дальше. Если продолжаем — снова выполняем нужные команды Но как нам выполнить команды снова, если мы не знаем точного количества повторений и нельзя использовать циклы? Используем для этого рекурсию — это когда функция внутри вызывает сама себя. А условие цикла будем проверять с помощью условного оператора if. Попробуем так сделать простой цикл for, который выведет числа от 1 до 5: