Статьи

Циклы Python: объяснение для начинающих и детей

Написание программ, по сути, является реализацией придуманного алгоритма — последовательности действий, приводящих к результату. Когда мы реализуем задуманный таким образом алгоритм, мы можем решить какую-то реальную проблему или решить проблему.

Узнайте больше об этом на курсах Python. Здесь лишь отметим, что алгоритм как группа действий может состоять из следующих «кирпичиков»: sequence (секвенирование), selection (отбор), iteration (итерация).



Последовательность — порядок выполнения команд. На определенном этапе алгоритма мы можем заложить решение о том, какое действие следует выполнить первым, какое — потом, в зависимости от наступивших условий. Этот выбор.

Итерация — повторение команд. Иногда для достижения цели полезно остановиться и повторить шаг алгоритма столько раз, сколько необходимо. Или повторить сам алгоритм много раз. «Итерация» обычно реализуется с помощью конструкции языка программирования, такой как циклы. Давайте посмотрим, как сделать цикл в Python.

Курсы Python для детей

Как использовать цикл for?

В Python поддерживаются только два цикла: for и while, причем первый считается основным и используется чаще. Обычно for используется для перебора некоторых объектов по порядку и обработки каждого из них. Объекты могут быть самые разные: список, кортеж, строка (это типы данных и группы данных в Python). Строка указана не случайно. Python поддерживает возможность представить его в виде массива, но об этом ниже. Вот общий синтаксис цикла for:

общий для синтаксиса цикла

Каждый курс Python для начинающих и детей подробно объясняет каждую часть этой конструкции. Слева переменная, которую мы будем обозначать как отдельный элемент списка, а справа имя самого списка.

Сам цикл берет первый по порядку элемент из list_of_elems и помещает его в переменную, которая на диаграмме называется one_elem. Далее от условия в начале for переходит к так называемому «телу цикла», где имеем Операцию №1, Операцию №2.

Здесь вы можете производить любые манипуляции с one_elem. На первой итерации (то есть на первом проходе цикла) они будут применены к первому элементу list_of_elem. После прохождения тела цикла for возвращается к условию и присваивает one_elem следующее значение из list_of_elems. Все повторяется сначала, только относительно нового элемента списка.

Будьте внимательны, инструкции в теле цикла необходимо «отбивать» кнопкой Tab так, чтобы их отступ в коде был больше, чем у условия цикла, иначе код не запустится и выдаст ошибку.

Чтобы не ломать голову над наименованием переменных в каждом цикле, которых в любом скрипте, даже при обучении детей Python, может быть очень много, сначала придумайте имя для сбора данных, обязательно во множественном числе. Переменная слева будет называться тем же словом, но в единственном числе. Подход логичный, вносящий единообразие. Код легко читается другими людьми. Примером именования переменных с использованием этого метода является «для книги в книгах:». Давайте попробуем цикл Python for со списком фруктов в качестве примера. Напечатайте имя каждого с помощью функции print():

фрукты «=» [«apple», «orange», «banana», «strawberry», «watermelon», «pear», «grape-fruit»]

для фрукты в фрукты:

Распечатать(фрукты)

Результат:

Код

Функция print() работала для каждого элемента списка на соответствующей итерации. For устроен так, что по умолчанию он останавливается, как только он перебирает весь список.

На «второй заход» он не пойдет. Как мы уже говорили, в Python можно перебирать строку или слово как массив содержащихся в нем букв. Полезная способность! На курсах программирования детям часто задают задачи на циклы Python таким образом, чтобы они запомнили эту возможность языка.

Например, давайте обработаем строку «Программирование — это весело». Обратите внимание на «синтаксический сахар». Разобранный набор данных можно указать не только как переменную в условии цикла. Запустим код:

для oneChar в «Программирование — это весело»:

Распечатать один чар

Код

Получаем в консоли каждую букву строки отдельно.

Иногда нам может понадобиться остановить цикл до того, как он пройдет через все элементы списка. В этом случае в теле цикла, то есть там, где у нас есть команды, которые нужно применить, мы можем добавить доступный в Python оператор цикла break и написать условие, что break срабатывает при достижении нужного нам объекта.

Возьмите список марок автомобилей.

легковые автомобили «=» [«Rolls-Royce», «Aston Martin», «Bentley», «Jaguar», «Land Rover», «McLaren»]

Мы когда-то давали такую ​​задачу, обучая детей Python онлайн. Предположим, мы хотим отобразить все имена из списка до марки Jaguar.

для машина в легковые автомобили:

Распечатать(машина)

если машина == Ягуар:

перерыв

Код

С помощью If проверяем, проходит ли через цикл элемент списка «Ягуар», и если проходит, то выходим из цикла. Остальные элементы не будут напечатаны. А что произойдет, если мы поменяем местами операции в теле цикла?

для машина в легковые автомобили:

если машина == Ягуар:

перерыв

Распечатать(машина)

Тогда будет напечатано начало списка, но без «Ягуара», т.к. вывод осуществляется после того, как условие было оценено и по условию был запущен break.

Код

Также в Python есть оператор continue. С его помощью мы можем прервать текущую итерацию, вернуться к началу и начать со следующего элемента списка. Это удобно показать на примере того же вывода на консоль элементов, включенных в список.

животные «=» [«cat», «dog», «elephant», «lion», «bear», «pigeon»]

для животное в животные:

если животное == «лев»:

продолжать

Распечатать(животное)

Код

С continue и логическим оператором «если» мы успешно пропускаем слово «лев». Достигнув этой итерации, цикл останавливается до достижения функции print(). Затем он возвращается к началу и продолжает работу над следующим элементом списка.

Продолжим знакомство с for функцией range(), с помощью которой в теле цикла for можно сколько угодно повторять нужный блок кода. Кстати, по функции range() легко понять, почему Python для детей считается проще многих других. Чтобы делать в других языках то, что делает здесь эта замечательная функция, требуются гораздо более сложные и трудные для понимания конструкции.

Range() по умолчанию возвращает последовательность чисел, начиная с нуля, каждый раз добавляя «1» к уже достигнутому значению. Процесс останавливается на числе, указанном в аргументе функции range(), а точнее, перед ним, потому что функция останавливается за единицу до своего предела.

для число в диапазон(10):

Распечатать(число)

Код

Для range() в функции может быть указан второй параметр. Если в аргументах два числа, то первое означает: с какой цифры начинаем приращение (то есть постоянное увеличение на единицу). Вторая цифра указывает верхний предел: когда функция должна остановиться. Но лучше один раз увидеть, как гласит пословица:

для число в диапазон(6, одиннадцать):

Распечатать(число)

Код

Функция range() часто используется в тандеме с циклом for, чтобы приспособить ее к той или иной задаче, поэтому стоит упомянуть третий возможный аргумент для range(), хотя эта тема редко затрагивается при обучении детей Python. С его помощью мы можем изменить число, на которое мы каждый раз увеличиваем цифру, которую мы достигли на предыдущей итерации. Шаг увеличения, другими словами. По умолчанию увеличение на единицу, но это можно изменить с помощью третьего аргумента:

для число в диапазон(1, одиннадцать, 2):

Распечатать(число)

Код

Как видите, теперь добавляется не один, а два. Если нам нужно перебирать несколько наборов данных одновременно, мы можем использовать вложенные циклы for. Речь идет о цикле внутри другого цикла. Внутренний цикл будет выполнять все свои итерации на первой итерации внешнего цикла. Когда внешний переходит на следующий шаг, внутренний снова перебирает все элементы своего списка. И так до тех пор, пока не закончится список внешнего цикла.

эпитеты «=» [«healthy», «tasty», «mature», «big», «cut»]

овощи «=» [«potato», «tomato», «beetroot», «cabbage», «cucumber»]

для эпитет в эпитеты:

для овощ в овощи:

Распечатать (эпитет, овощ)

И вот что мы получили в консоли разработчика:

Код

Как использовать цикл while?

В курсах Python для начинающих этому циклу уделяется меньше внимания. В то время как for хорош для обработки наборов данных, в то время как более полезен, когда вам нужно повторить определенный сегмент кода несколько раз. Во-первых, вы можете указать условие, при котором цикл завершится.

прилавок «=» 5

пока прилавок 15:

Распечатать(прилавок)

прилавок «=» прилавок + 1

код

Будьте осторожны: цикл while легко становится бесконечным, что чревато логическими ошибками в программе. Например, если убрать в коде финальное выражение, увеличивающее число в переменной-счетчике на 1, то цикл станет бесконечным, так как условие в начале всегда будет истинным. Как и в цикле for, через некоторое время вы можете использовать оператор break, чтобы выйти из него в нужное время.

Знакомство с Python для детей

Курсы Python

Если ваш ребенок изучает программирование, то основ циклов Python в этой статье будет недостаточно. Новичок должен «танцевать» в изучении языка программирования от решения интересных и амбициозных задач. Что ребенку было бы интересно творить? В любом случае вам нужно будет разбираться во многих тонкостях языка. Это можно сделать бесплатно видео уроки, учебники или курсы программирования для детей.

Существуют курсы Python для подростков и классы для детей младшего возраста во вселенной Minecraft. В любом случае начинать знакомство с языками программирования можно и важно уже в школьном возрасте. Учите детей программировать — это полезно и интересно.


Подборка статей о продвижении сайта в интернет. Обучение востребованным профессиям в сфере IT. Маркетинг. Анализ рынка. Полезные секреты проведения рекламных кампаний. Подпишитесь на нас в социальных сетях, что бы не пропустить важное.

Информация для Вас была полезна?
0
0
0
0
0
0
0

Похожие статьи

Кнопка «Наверх»