Как сделать цикл в питоне

Добавил пользователь Владимир З.
Обновлено: 18.09.2024

Циклы позволяют выполнять некоторое действие в зависимости от соблюдения некоторого условия. В языке Python есть следующие типы циклов:

Цикл while

Цикл while проверяет истинность некоторого условия, и если условие истинно, то выполняет инструкции цикла. Он имеет следующее формальное определение:

После ключевого слова while указывается условное выражение, и пока это выражение возвращает значение True , будет выполняться блок инструкций, который идет далее.

Все инструкции, которые относятся к циклу while, располагаются на последующих строках и должны иметь отступ от начала ключевого слова while.

В данном случае цикл while будет выполняться, пока переменная number меньше 5.

Сам блок цикла состоит из двух инструкций:

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

Также обратите внимание, что последняя инструкция print("Работа программы завершена") не имеет отступов от начала строки, поэтому она не входит в цикл while.

Весь процесс цикла можно представить следующим образом:

Сначала проверяется значение переменной number - больше ли оно 5. И поскольку вначале переменная равна 1, то это условие возвращает True , и поэтому выполняются инструкции цикла

Инструкции цикла выводят на консоль строку number = 1 . И далее значение переменной number увеличивается на единицу - теперь она равна 2. Однократное выполнение блока инструкций цикла называется итерацией . То есть таким образом, в цикле выполняется первая итерация.

Снова проверяется условие number . Оно по прежнему равно True, так как number = 2, поэтому выполняются инструкции цикла

Инструкции цикла выводят на консоль строку number = 2 . И далее значение переменной number опять увеличивается на единицу - теперь она равна 3. Таким образом, выполняется вторая итерация.

Опять проверяется условие number . Оно по прежнему равно True, так как number = 3, поэтому выполняются инструкции цикла

Инструкции цикла выводят на консоль строку number = 3 . И далее значение переменной number опять увеличивается на единицу - теперь она равна 4. То есть выполняется третья итерация.

Снова проверяется условие number . Оно по прежнему равно True, так как number = 4, поэтому выполняются инструкции цикла

Инструкции цикла выводят на консоль строку number = 4 . И далее значение переменной number опять увеличивается на единицу - теперь она равна 5. То есть выполняется четвертая итерация.

И вновь проверяется условие number . Но теперь оно равно False , так как number = 5, поэтому выполняются выход из цикла. Все цикл - завершился. Дальше уже выполняются действия, которые определены после цикла. Таким образом, данный цикл произведет четыре прохода или четыре итерации

В итоге при выполнении кода мы получим следующий консольный вывод:

Для цикла while также можно определить дополнительный блок else , инструкции которого выполняются, когда условие равно False:

То есть в данном случае сначала проверяется условие и выполняются инструкции while. Затем, когда условие становится равным False, выполняются инструкции из блока else. Обратите внимание, что инструкции из блока else также имеют отступы от начала конструкции цикла. В итоге в данном случае мы получим следующий консольный вывод:

Блок else может быть полезен, если условие изначально равно False, и мы можем выполнить некоторые действия по этому поводу:

В данном случае условие number изначально равно False, поэтому цикл не выполняет ни одной итерации и сразу переходит в блоку else.

Цикл for

Другой тип циклов представляет конструкция for . Этот цикл пробегается по набору значений, помещает каждое значение в переменную, и затем в цикле мы можем с этой переменной производить различные действия. Формальное определение цикла for:

После ключевого слова for идет название переменной, в которую будут помещаться значения. Затем после оператора in указывается набор значений и двоеточие.

А со следующей строки располагается блок инструкций цикла, которые также должны иметь отступы от начала цикла.

При выполнении цикла Python последовательно получает все значения из набора и передает их переменную. Когда все значения из набора будут перебраны, цикл завершает свою работу.

В качестве набора значений, например, можно рассматривать строку, которая по сути представляет набор символов. Посмотрим на примере:

В цикле определяется переменную c , после оператора in в качестве перебираемого набора указана переменная message, которая хранит строку "Hello". В итоге цикл for будет перебираеть последовательно все символы из строки message и помещать их в переменную c. Блок самого цикла состоит из одной инструкции, которая выводит значение переменной с на консоль. Консольный вывод программы:

Цикл for также может иметь дополнительный блок else , который выполняется после завершения цикла:

В данном случае мы получим следующий консольный вывод:

Стоит отметить, что блок else имеет доступ ко всем переменным, которые определены в цикле for.

Вложенные циклы

Одни циклы внутри себя могут содержать другие циклы. Рассмотрим на примере вывода таблицы умножения:

Внешний цикл while i срабатывает 9 раз пока переменная i не станет равна 10. Внутри этого цикла срабатывает внутренний цикл while j . Внутренний цикл также срабатывает 9 раз пока переменная j не станет равна 10. Причем все 9 итераций внутреннего цикла срабатывают в рамках одной итерации внешнего цикла.

В каждой итерации внутреннего цикла на консоль будет выводится произведение чисел i и j. Затем значение переменной j увеличивается на единицу. Когда внутренний цикл закончил работу, значений переменной j сбрасывается в 1, а значение переменной i увеличивается на единицу и происходит переход к следующей итерации внешнего цикла. И все повторяется, пока переменная i не станет равна 10. Соответственно внутренний цикл сработает всего 81 раз для всех итераций внешнего цикла. В итоге мы получим следующий консольный вывод:

Подобным образом можно определять вложенные циклы for:

В данном случае внешний цикл проходит по строке "ab" и каждый символ помещает в переменную c1. Внутренний цикл проходит по строке "ba", помещает каждый символ строки в переменную c2 и выводит сочетание обоих символов на консоль. То есть в итоге мы получим все возможные сочетания символов a и b:

Выход из цикла. break и continue

Для управления циклом мы можем использовать специальные операторы break и continue . Оператор break осуществляет выход из цикла. А оператор continue выполняет переход к следующей итерации цикла.

Оператор break может использоваться, если в цикле образуются условия, которые несовместимы с его дальнейшим выполнением. Рассмотрим следующий пример:

Здесь цикл while проверяет условие number . И пока number не равно 5, предполагается, что значение number будет выводиться на консоль. Однако внутри цикла также проверяется другое условие: if number == 3 . То есть, если значение number равно 3, то с помощью оператора break выходим из цикла. И в итоге мы получим следующий консольный вывод:

В отличие от оператора break оператор continue выполнztn переход к следующей итерации цикла без его завершения. Например, в предыдущем примере заменим break на continue:

И в этом случае если значение переменной number равно 3, последующие инструкции после оператора continue не будут выполняться:

На уроке рассматривается алгоритм работы с различными видами циклов на языке Питон (Python): цикл с предусловием While и цикл со счетчиком For. Объясняется возможность генерации в Python случайных чисел

Цикл WHILE

Цикл while — цикл с предусловием. Пример использования:

i = 5 while i Комментарии в Python

''' тоже блочный комментарий '''

Операторы break и continue

цикл while на питоне

Оператор break — выход из цикла
Оператор continue — выход из текущей итерации цикла

a=0 while a!=10: a=a+1 if a==5: continue print (a) if a==7: break print ("всё!")

Пример: Написать программу для игры: Загадывается число (использовать функцию random ). Пользователю предлагается угадать число. Если пользователь не угадывает, то ему предлагается угадать число снова и выдается подсказка, что число больше или меньше введенного. Так бесконечно, пока пользователь не введет слово exit. Бесконечный цикл организовать через while True: .

import random number = random.randint(0, 100) while True: answer = input('Угадай число: ') if answer == "" or answer == "exit": print("Выход из программы") break if not answer.isdigit(): print("Введи правильное число") continue answer = int(answer) if answer == number: print('Верно!') break elif answer > number: print('Загаданное число больше') else: print('Загаданное число меньше')

Задание Python 2_1: Последовательно вводятся ненулевые числа. Определить сумму положительных и сумму отрицательных чисел. Закончить ввод чисел при вводе 0. Для перевода из строки в целое число, использовать функцию int().

Пример вывода:

Задание Python 2_3: Запрашиваются 10 чисел (целые значения от 0 до 1000). Опишите алгоритм, позволяющий найти и вывести минимальное значение среди введенных чисел, которые имеют чётное значение и не делятся на три.


Пример вывода:

Цикл FOR

оператор цикла For на Питоне

В Python цикл for имеет такой синтаксис:

Пример:

Пример с двумя параметрами:

Шаг счетчика цикла можно менять:

for x in range(1,11,2): print ( 2**x )

Еще пример работы:

Пример использования break:

a=0 n=10 for i in range(1,n+1,2): a=a+1 if a==5: continue print (a) if a==7: break print ("всё!")

Задание Python 2_4: Составить программу для вычисления среднего арифметического N произвольных вводимых чисел.

Пример вывода:

Случайное число

В Python случайное число задается с помощью двух функций:

  • random() – случайное вещественное из полуинтервала [0,1) ;
  • randint(a,b) – случайное целое из отрезка [a,b].

Но для использования функция необходимо предварительно подключить библиотеку:

Число Армстронга. Числом Армстронга считается натуральное число, сумма цифр которого, возведенных в N-ную степень (N – количество цифр в числе) равна самому числу.
Например, 153 = 1 3 + 5 3 + 3 3 .

Задание Python 2_7:
Напишите программу, которая запрашивает натуральное число N и выводит на экран все автоморфные числа, не превосходящие N.

Автоморфным называется натуральное число, если оно равно последним цифрам своего квадрата. Например, 25 2 = 625.

Цикл for in при работе с кортежами (тип данных)

i = 1 for color in 'красный', 'оранжевый', 'желтый', 'зеленый', 'голубой', 'синий', 'фиолетовый': print(i,'-й цвет радуги - это ', color) i += 1


Другой вариант работы со счетчиком цикла:

for i in 1,2,3,'one','two','three': print(i)

При первых трех итерациях цикла переменная i будет принимать значение типа int, при последующих трех — типа str.

Задание Python 2_8: Распечатывать дни недели с их порядковыми номерами. Кроме того, рядом выводить выходной ли это день или рабочий. Использовать кортеж.

Цикл for в Python используется для повторения оператора или части программы несколько раз. Он часто используется для обхода структур данных, таких как список, кортеж или словарь.

Синтаксис цикла for в Python приведен ниже.

Блок-схема цикла for

Блок-схема цикла for

Цикл for, использующийся в последовательности

Пример-1: Итерация строки с использованием цикла for.

Пример-2: Программа для печати таблицы с заданным числом.

Пример-3: Программа для печати суммы данного списка.

Цикл for с использованием функции range()

Функция range() используется для генерации последовательности чисел. Если мы передадим диапазон(10), он будет генерировать числа от 0 до 9. Синтаксис функции range() приведен ниже.

  • Начало представляет собой начало итерации.
  • Остановка означает, что цикл будет повторяться до остановки-1. Диапазон(1,5) будет генерировать числа от 1 до 4 итераций. Это необязательно.
  • Размер шага используется для пропуска определенных чисел из итерации. Использовать необязательно. По умолчанию размер шага равен 1, но это необязательно.

Рассмотрим следующие примеры:

Пример-1: Программа для последовательной печати чисел.

Пример – 2: Программа для печати таблицы с заданным номером.

Пример-3: Программа для печати четного числа, используя размер шага в диапазоне().

Мы также можем использовать функцию range() с последовательностью чисел. Функция len() сочетается с функцией range(), которая выполняет итерацию по последовательности с использованием индексации. Рассмотрим следующий пример.

Вложенный цикл for в Python

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

Пример – 1: Вложенный цикл for.

Пример-2: Программа числовой пирамиды.

Использование оператора else с циклом for

В отличие от других языков, таких как C, C ++ или Java, Python позволяет нам использовать оператор else с циклом for, который может выполняться только тогда, когда все итерации исчерпаны. Здесь мы должны заметить, что если цикл содержит любой из операторов break, тогда оператор else не будет выполнен.

Цикл for полностью исчерпан, так как нет обрыва.

В приведенном выше примере цикл разорван из-за оператора break; следовательно, оператор else не будет выполняться. Оператор, находящийся рядом с блоком else, будет выполнен.

Цикл прерван из-за того, что оператор break … вышел из цикла. Мы узнаем больше об операторе break в следующем уроке.

От автора: что такое цикл? Циклы могут выполнять блок кода несколько раз, пока не будет выполнено определенное условие. Их использование довольно распространено в программировании. Другие языки программирования содержат такие циклы, как For, While, Dowhile и т. д. Python использует только For и While.

Что такое цикл For?

Что такое цикл While?

Цикл While используется для повторения блока кода. Вместо того, чтобы запускать блок кода один раз, он выполняет блок кода несколько раз, пока не будет выполнено определенное условие. В этом руководстве мы узнаем:


Получите курс и узнайте, как создать программу для перевода текстов на Python

Как использовать цикл For для множества других вещей кроме чисел

Операторы Break в цикле For

Оператор Continue в цикле For

Функция Enumerate для цикла For

Как использовать цикл для повторения одного и того же оператора снова и снова

Цикл While выполняет те же действия, что и оператор if, но вместо однократного запуска блока кода, он возвращается к точке, с которой он начал код, и снова повторяет весь процесс. Синтаксис:

Строка кода 4: для переменной x установлено значение 0

Строка кода 7: цикл проверяет условие x

Цикл For повторяется столько раз, сколько объявлено в диапазоне.

Например, Цикл For для х в диапазоне (2,7). Когда этот код будет выполнен, он выведет числа от 2 до 7 (2,3,4,5,6). В этом коде число 7 не считается принадлежащим диапазону.

Цикл For также можно использовать для множества других вещей, а не только чисел. Мы рассмотрим это в следующем разделе.

Как использовать цикл For для строк

В этом разделе мы рассмотрим, как цикл For работает и для других вещей, кроме чисел.

Строка кода 4: мы повторяем цикл for для каждого значения в Months. Текущее значение месяца хранится в переменной m

Строка кода 5: выводим месяц

Как использовать операторы break в циклах For

Точка остановки — это уникальная функция в цикле For, которая позволяет прервать выполнение цикла.

В этом примере мы объявили числа от 10 до 20, но мы хотим, чтобы цикл for завершился на числе 15 и прекратил выполнение. Для этого мы объявляем функцию break, определяя (x==15): break, поэтому, как только код вызывает номер 15, он завершает программу.

Строка кода 10 объявляет переменную x в диапазоне (10, 20).

Строка кода 11 объявляет условие для точки остановки в точке x==15,

Строка кода 12 проверяет условие и повторяет шаги, пока не достигнет номера 15

Строка кода 13 выводит результат

Функция continue, как видно из названия, прервет текущую итерацию цикла for, НО продолжит выполнение оставшихся итераций.

Оператор Continue может использоваться в цикле for, когда вы хотите извлечь из списка определенное значение. В нашем примере мы объявили значение 10-20, но между этими числами нам нужны только те числа, которые НЕ делятся на 5, или другими словами, которые не дают ноль при делении на 5.

Таким образом, в диапазоне (10,11, 12… .19,20) существуют только 3 числа (10,15,20), которые делятся на 5, а остальные — нет. Таким образом, для номеров 10, 15 и 20 цикл for не будет продолжен и не будет выводить числа.

В строке кода 10 объявляем переменную x для диапазона (10, 20)


Получите курс и узнайте, как создать программу для перевода текстов на Python

В строке кода 12 объявляется условие для x, деление на 5 = 0.

Строка кода 13 выводит результат

Функция enumerate в цикле for делает две вещи:

Возвращает номер индекса для члена

и члена из набора, в котором мы находимся

Функция enumerate используется для нумерации или индексации членов в списке. Предположим, мы хотим создать нумерацию для месяцев (Jan, Feb, Marc, … June), поэтому мы объявляем переменную i, которая перечисляет числа, а m будет выводить номер месяца в списке.

Когда код выполняется, выходные данные функции enumerate возвращают название месяца с порядковым номером, например (0-Jan), (1- Feb), (2- March) и т. д.

Строка кода 3 объявляет список месяцев [Jan, Feb,…Jun]

Строка кода 4 объявляет переменные i и m для цикла For

Строка кода 5 выводит результат и снова входит в цикл For, чтобы перечислить остальные месяцы

Давайте рассмотрим другой пример для цикла For, в котором повторяется одно и то же выражение снова и снова.

Код для цикла while

Простой цикл for

Использование цикла for для строк

Использование оператора break в цикле for

Использование оператора Continue в цикле for

Код для функции enumerate в цикле for

Как использовать цикл для повторения одного и того же оператора снова и снова

Вы можете использовать цикл даже для повторения одного и того же оператора снова и снова. Здесь в примере мы выводим слово «guru99″ три раза.

Пример: чтобы повторить то же выражение несколько раз, мы объявили число в переменной i (i in 123). Поэтому, когда вы запускаете код, как показано ниже, он выводим оператор (guru99), столько раз, сколько объявлено для нашей переменной в (i in 123).

Циклы while выполняются в зависимости от того, является ли условный оператор истинным или ложным.

Поскольку циклы называются итераторами, они выполняют итерацию элемента на основе набора условий.

Циклы Python For могут также использоваться для множества других вещей (указание набора элементов, которые мы хотим перебрать)

Точка остановки используется в цикле For для прерывания или завершения программы в любой конкретной точке.

Оператор Continue продолжит выполнять оператор и выводить результат в соответствии с набором условий

Функция Enumerate в цикле for возвращает члена набора, в котором мы находимся, с порядковым номером

Пример Python 2

Приведенные выше коды являются примерами Python 3. Если вы хотите запустить Python 2, рассмотрите следующий код.

Читайте также: