Перейти к содержимому

While python что это

  • автор:

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

Цикл while (“пока”) позволяет выполнить одну и ту же последовательность действий, пока проверяемое условие истинно. Условие записывается до тела цикла и проверяется до выполнения тела цикла. Как правило, цикл while используется, когда невозможно определить точное значение количества проходов исполнения цикла.

Синтаксис цикла while в простейшем случае выглядит так:

while условие: 
блок инструкций

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

Например, следующий фрагмент программы напечатает на экран квадраты всех целых чисел от 1 до 10. Видно, что цикл while может заменять цикл for . in range(. ):

i = 1
while i print(i)
i += 1

В этом примере переменная i внутри цикла изменяется от 1 до 10. Такая переменная, значение которой меняется с каждым новым проходом цикла, называется счетчиком. Заметим, что после выполнения этого фрагмента значение переменной i будет равно 11, поскольку именно при i==11 условие i

Вот еще один пример использования цикла while для определения количества цифр натурального числа n:

n = int(input()) 
length = 0
while n > 0:
n //= 10
length += 1

В этом цикле мы отбрасываем по одной цифре числа, начиная с конца, что эквивалентно целочисленному делению на 10 (n //= 10), при этом считаем в переменной length, сколько раз это было сделано.

В языке Питон есть и другой способ решения этой задачи: length = len(str(i)).

Цикл while для начинающих

Цикл while — это конструкция, позволяющая выполнять блок кода до тех, пор пока условие в этой конструкции продолжает быть истиной. Отступы тут будут работать точно так же, как и при использовании оператора if — все, что сдвинуто на четыре пробела относительно ключевого слова while будет считаться телом цикла.

С английского языка while так и переводится — до тех пор, пока.

Для начинающих особенно важно понять все детали работы цикла, поэтому разберем программу, последовательно выводящую цифры от 1 до 3 , построчно:

i = 1
while i 3:
print(i)
i += 1
  • Задаем начальное значение переменной i , которая является так называемой переменной-счетчиком ;
  • Объявляем условие — пока значение счетчика меньше или равно трем , код ниже будет выполняться. Конец условия обязательно обозначаем двоеточием;
  • Выводим значение переменной i (единица, в данном случае). Обратите внимание, что Python определяет начало цикла, видя отступ в четыре пробела;
  • Увеличиваем значение переменной i на единицу (которое становится равное двум). Два меньше трех? Значит Python выполнит еще одну итерацию цикла, и так необходимое количество раз, пока условие не перестанет быть истиной (значение переменной i будет меньше либо равно трем).

Нашу программу можно переписать и немного по-другому, используя оператор break

i = 1
while True:
print(i)
if i >= 3:
break
i += 1

В принципе, все повторения и шаги цикла аналогичны первому варианту. Отличие лишь в том, что для завершения цикла мы используем оператор break , который завершает выполнение цикла. То есть, если переменная-счетчик станет больше либо равна 3 , цикл завершится. Оператор break полезен, если условие в while написать трудно, оно слишком громоздкое, либо перед завершением цикла нужна выполнить какие-либо дополнительные действия

Python с нуля. Освойте с Виртуальным ИИ-помощником!

Цикл while в Python

Цикл while в Python используется для повторения блока кода, пока выражение (условие) истинно, т.е. равно True .

Обычно этот цикл используют, когда заранее неизвестно, сколько раз нужно повторить блок кода.

Синтаксис цикла
while выражение: 
Тело while

Сначала цикл while проверяет выражение на истинность. Тело цикла начнет выполняться только в том случае, если выражение = True . После первой итерации цикла выражение снова проверяется на истинность. Этот процесс будет продолжаться до тех пор, пока выражение не станет равно False .

В Python тело цикла while обозначается отступами. Тело цикла начинается с отступа, а заканчивается первой строкой без отступа.

Помните, что Python интерпретирует ненулевые значения как True . None и 0 интерпретируются как False .

Блок-схема цикла
Пример использования цикла
# Программа складывает натуральные # числа от 1 до n # sum = 1+2+3+. +n # Чтобы предложить пользователю ввести число n, # напишите: n = int(input("Введите n: ")) n = 10 # объявляем переменные: сумма и счетчик sum = 0 i = 1 while i 

Вывод:

Введите n: 10
Сумма чисел от 1 до n: 55

В приведенной выше программе выражение будет равно True до тех пор, пока счетчик i меньше или равен n . В нашем примере n = 10.

Главное не забывать увеличивать значение счетчика в теле цикла while, иначе получится бесконечный цикл. выражение всегда будет истинным, поскольку i не будет увеличиваться, следовательно, цикл никогда не остановится.

Цикл while с блоком else

Так же, как и с циклами for, с циклами while можно использовать дополнительный блок else .

Блок else начнет выполняться, когда условие цикла while станет равно False .

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

Вот пример, который иллюстрирует это.

'''Программа демонстрирует использование конструкции else в комбинации с циклом while''' counter = 0 while counter < 3: print("Внутри цикла while") counter = counter + 1 else: print("Внутри блока else") 

Вывод:

Внутри цикла while
Внутри цикла while
Внутри цикла while
Внутри блока else

Мы использовали переменную-счетчик counter , чтобы напечатать сообщение «Внутри цикла while» ровно 3 раза.

На четвертой итерации, т. е. когда counter = 4 условие цикла while counter < 3 становится ложным, т. е. False . Тогда-то и выполняется блок else .

СodeСhick.io - простой и эффективный способ изучения программирования.

2024 © ООО "Алгоритмы и практика"

Циклы в Python: как работать с while и for

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

Детям из Мариуполя нужно 120 ноутбуков для обучения - подари старое "железо", пусть оно работает на будущее Украины

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

Основные типы циклов

В языке Python существуют 2 основных цикла: while и for. Рассмотрим подробно работу каждого из них.

Цикл while

Цикл while — один из самых распространенных в Python. Он позволяет воспроизводить элемент кода снова и снова, пока заданное условие остается верным (true). Чтобы цикл правильно работал, нужен фрагмент кода, который вы хотите использовать повторно, условие true или false и ключевое слово while .

Главное отличие цикла while от for состоит в том, что while может повторять код бесконечное количество раз, пока выполняется условие его применения.

Курс Аналітик даних.

Протягом 4 місяців ви вивчите повний набір інструментів для аналізу даних та отримаєте можливість працевлаштування в Laba Group.

# Take user input number = 2 # Condition of the while loop while number < 5 : # Find the mod of 2 if number%2 == 0: print("The number "+str(number)+" is even") else: print("The number "+str(number)+" is odd") # Increment `number` by 1 number = number+1
The number 2 is even The number 3 is odd The number 4 is even

Освоить язык программирования Python вам могут помочь онлайн курсы от наших партнеров Mate Academy и Powercode. Получите качественный уровень знаний от практикующих специалистов.

Цикл for

Цикл for выполняет ту же функцию, что и while — повторяет указанные строки кода. Но в отличие от while, для работы for не требуется никаких условий. For используется для перебора последовательности, например, списка, и работает строго определенное количество раз.

Так выглядит код с использованием цикла for :

languages = ['R', 'Python', 'Scala', 'Java', 'Julia'] for index in range(len(languages)): print('Current language:', languages[index])
Current language: R Current language: Python Current language: Scala Current language: Java Current language: Julia

Функция range

Функция range используется при работе со строками цикла for, а также для создания последовательностей чисел. Рассмотрим на примере кода, как эта функция работает с целыми числами:

for number in range(5,10,2) : print("I am number : "+str(number))
I am number : 5 I am number : 7 I am number : 9

Для работы функции range указываются 2 или 3 числа:

Курс Front-end Basic.

Оволодій навичками розробки веб-інтерфейсів та стань справжнім Front-end розробником! Заробляй від 800$ на початку карʼєри.

  • Первое число — start — с него функция начинает отсчет.
  • Второе число называется stop и обозначает конец выбранного промежутка чисел. В примере это цифра 10, поэтому функция не может показать число больше 10.
  • Третье число называется step : это шаг, который делает функция при переборе чисел. Можно не указывать шаг, и тогда в нашем примере функция покажет все числа от 5 до 10.

Заданный пример начинается с 5, к этому числу прибавляется по 2, пока мы не упремся в потолок функции. Так, получается следующая последовательность чисел:

Range также можно использовать с отрицательными числами и выполнять вычитание. Например:

for i in range(10, -5, -2): print(i)
10 8 6 4 2 0 -2 -4

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

Циклы while и for можно как использовать по отдельности, так и комбинировать. Можно вложить цикл for внутрь внешнего цикла while и наоборот, а также вкладывать циклы одного вида друг в друга.

Курс Стратегический маркетинг.

Від хаосу до системного маркетингу разом із Тетяною Лукинюк, B2C-директором у Kyivstar, колишнім CMO у Coca-Cola, Mars Ukraine та генеральною директоркою у Red Bull Ukraine.

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

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

Рассмотрим на примере вложенного цикла for , как это работает на практике:

num_list = [1, 2, 3] alpha_list = ['a', 'b', 'c'] for number in num_list: print(number) for letter in alpha_list: print(letter)
1 a b c 2 a b c 3 a b c

По результату выполнения кода видно, что программа завершает первую итерацию внешнего цикла на цифре 1 и затем запускает завершение внутреннего цикла, печатая a, b, c. Как только внутренний цикл завершен, программа возвращается к началу внешнего цикла и печатает цифру 2, а после снова воспроизводит вложенный цикл.

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

Вложенный цикл while выглядит так:

i=1 while i
1 Outer loop is executed only once 1 Inner loop is executed until to completion 2 Inner loop is executed until to completion 3 Inner loop is executed until to completion 2 Outer loop is executed only once 1 Inner loop is executed until to completion 2 Inner loop is executed until to completion 3 Inner loop is executed until to completion 3 Outer loop is executed only once 1 Inner loop is executed until to completion 2 Inner loop is executed until to completion 3 Inner loop is executed until to completion

Выход из цикла

Если вам нужно пропустить какую-то часть цикла, то прервать его выполнение можно с помощью двух операторов: break или continue .

Break позволяет выйти из вложенного цикла сразу во внешний:

for number in range(3) : print("-------------------------------------------") print("I am outer loop iteration "+str(number)) for another_number in range(3): print("****************************") print("I am inner loop iteration "+str(another_number)) break
------------------------------------------- I am outer loop iteration 0 **************************** I am inner loop iteration 0 ------------------------------------------- I am outer loop iteration 1 **************************** I am inner loop iteration 0 ------------------------------------------- I am outer loop iteration 2 **************************** I am inner loop iteration 0

Если не использовать оператор break в этой части кода, то результат бы выглядел вот так:

------------------------------------------- I am outer loop iteration 0 **************************** I am inner loop iteration 0 **************************** I am inner loop iteration 1 **************************** I am inner loop iteration 2 ------------------------------------------- I am outer loop iteration 1 **************************** I am inner loop iteration 0 **************************** I am inner loop iteration 1 **************************** I am inner loop iteration 2 ------------------------------------------- I am outer loop iteration 2 **************************** I am inner loop iteration 0 **************************** I am inner loop iteration 1 **************************** I am inner loop iteration 2

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

for number in range(3) : print("-------------------------------------------") print("I am outer loop iteration "+str(number)) continue for another_number in range(3): print("****************************") print("I am inner loop iteration "+str(another_number)) break

В результате мы видим, что отсутствует внутренний цикл for , а повторяется только внешний элемент цикла:

------------------------------------------- I am outer loop iteration 0 ------------------------------------------- I am outer loop iteration 1 ------------------------------------------- I am outer loop iteration 2

Курс Стратегический маркетинг.

Від хаосу до системного маркетингу разом із Тетяною Лукинюк, B2C-директором у Kyivstar, колишнім CMO у Coca-Cola, Mars Ukraine та генеральною директоркою у Red Bull Ukraine.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *