Циклы for и while
Цикл помогает выполнять одно и то же действие много раз. Изучаем циклы for и while в Python, функцию range(), выход из цикла и защиту от бесконечного цикла.
Список тем (4 из 11)
Глава 1. Основы Python
Глава 2. Списки и строки
Глава 3. Функции и модули
Глава 4. Работа с файлами
Если одно и то же действие нужно выполнить много раз, используют цикл. В Python есть два вида циклов: for удобен, когда число повторений известно заранее, а while — когда повторять нужно, пока условие истинно. Тело цикла, как и в условном операторе, записывается с отступом (4 пробела).
Цикл for обычно работает с функцией range(). Если в первой строке написать for i in range(5):, а во второй, с отступом в 4 пробела, — print(i), то i поочерёдно получит значения 0, 1, 2, 3, 4, и эти числа появятся на экране. range(1, 6) даёт числа от 1 до 5 (последнее число не входит), а range(0, 10, 2) — числа 0, 2, 4, 6, 8.
Цикл while каждый раз проверяет условие и, если оно истинно, выполняет тело. Например, при n = 3 цикл while n > 0: с командами print(n) и n = n - 1 внутри выведет числа 3, 2, 1 и остановится, когда n станет равным нулю. Если внутри цикла n не менять, условие всегда останется истинным, и цикл будет выполняться бесконечно.
Вычисление суммы — классический пример цикла: начиная с total = 0, внутри цикла for i in range(1, 6): (с отступом в 4 пробела) выполняется total = total + i, и в итоге total равно 15. Чтобы досрочно выйти из цикла, используют break, а чтобы пропустить текущий проход, — continue. Если число повторений известно, удобнее выбрать for, если неизвестно — while.
Главное
- Цикл повторяет группу команд несколько раз.
forиспользуют, когда число повторений известно, аwhile— пока условие истинно.range(5)даёт числа 0, 1, 2, 3, 4 (5 не входит).- Если внутри
whileничто не влияет на условие, цикл становится бесконечным. breakостанавливает цикл, аcontinueпереходит к следующему проходу.
Практические задания
- С помощью
forиrange()выведите на экран числа от 1 до 10, а затем измените программу так, чтобы она выводила только чётные числа (2, 4, 6, 8, 10). - С помощью цикла
whileвыполните обратный отсчёт от 10 до 1 и в конце выведите «Поехали!». - Напишите программу, которая просит пользователя ввести 5 чисел и вычисляет их сумму (используйте цикл
forиint(input())).
Вопросы для закрепления
Проверьте себя: сначала подумайте, потом откройте ответ.
1Какие числа даёт range(1, 6)?Показать ответСкрыть ответ
Числа 1, 2, 3, 4, 5 (6 не входит).2В каких случаях удобнее цикл for, а в каких — while?Показать ответСкрыть ответ
Если число повторений известно заранее — for, если нужно повторять по условию — while.3Почему цикл while может стать бесконечным?Показать ответСкрыть ответ
Если внутри цикла ничто не влияет на условие, оно всегда остаётся истинным.
Войдите на сайт
Слайды и PDF доступны только зарегистрированным пользователям: и просмотр, и скачивание. Вход бесплатный.
Войдите на сайт
Слайды и PDF доступны только зарегистрированным пользователям: и просмотр, и скачивание. Вход бесплатный.
Пройдено тем: 0 из 11
Войти и отметить