операторы циклов while и for, операторы break и continue
Смотреть материал на видео
Ни одна сколь-нибудь серьезная программа на Python не обходится без циклов. Что такое циклы?
Представьте, что спортсмен бегает по дорожкам стадиона и решил: пока не прошел один час, он бежит. То есть, пока выполняется условие (оно истинно – не прошел час), циклично выполняются некие действия – бегун бежит. Вот такую операцию на уровне языка Python выполняет оператор цикла while, имеющий следующий синтаксис:
Смотрите как в Python записывается группа операторов (тело цикла): вся группа должна иметь один и тот же сдвиг относительно оператора while (обычно ставят четыре пробела или символ табуляции). Причем такой отступ строго обязателен – это элемент синтаксиса python. И благодаря этому текст программы становится наглядным и хорошо читаемым. Это, безусловно, один из плюсов данного языка.
Однократное выполнение тела цикла называется итерацией. То есть, может быть первая итерация, вторая итерация, N-я итерация и так далее.
Давайте в качестве примера с помощью оператора цикла while вычислим вот такую вот сумму:
Расписывать все это через тысячу слагаемых не очень то удобно. И к тому же число слагаемых может зависеть от значения переменной и быть неопределенным. В таких задачах без циклов не обойтись. И программа будет выглядеть так:
S=0; i=1 while i <= 1000: S += 1/i i += 1 print(S)
В качестве выражения в цикле while можно писать все те же самые условия, что и в условном операторе if. Например, можно вычислять сумму S пока либо i<=1000, либо S < 5. Такое условие запишется так:
while i <= 1000 and S < 5:
здесь цикл будет работать пока i<=1000 и S<5 как только одно из подусловий станет ложным, все составное условие становится ложным и цикл завершит свою работу.
Вернемся к нашему спортсмену, бегущему по стадиону. И предположим, что прошел час, но бегун еще не завершил полный круг. Что произойдет? Цикл сразу завершится? Нет, проверка условия завершения происходит только на начальной отметке, то есть, спортсмен должен добежать круг целиком и только потом проверить: прошел час или нет.
Другими словами, пока целиком не выполнится текущая итерация тела цикла, оператор while продолжает свою работу. И как только условие цикла становится ложным, то бегун останавливается и цикл завершает свою работу.
А что будет, если условие в цикле while будет истинным всегда? В этом случае мы получим «вечный» цикл, программа фактически зависнет и наш спортсмен будет обречен на бесконечный бег по кругу.
S=0; i=1 while 1 : S += 1 print(S)
Далее, цикл while может иметь необязательный блок else, который идет после цикла:
Это, вроде как естественный выход из оператора цикла. В нашей иллюстрации это может быть традиционное посещение спортсменом душа после пробежки.
И здесь часто возникает вопрос: а чем блок else отличается от блока операторов, просто идущих после блока while? Ведь когда цикл while завершится, мы так и так перейдем к последующим операторам! Однако, тут есть один нюанс. Любой оператор цикла в Python может быть досрочно прерван с помощью оператора
break
Как только он встречается в теле цикла, цикл (в данном случае while) завершает свою работу. Это как если вдруг возник пожар и спортсмен не дожидаясь окончания круга спешно бежит со стадиона. В этом случае спортсмену уже не до душа, он сразу хватает свои вещи и убегает из спортивного комплекса. То есть, при досрочном прерывании работы цикла while, конструкция else не выполняется и управление переходит на последующие операторы. Вот в чем отличие блока else от операторов, стоящих непосредственно после while.
Например:S=0; i=-10 while i < 100: if i == 0: break S += 1/i i=i+1 else: print("Сумма вычислена корретно") print(S)
Если здесь при вычислении суммы ожидается деление на 0, то срабатывает break и цикл досрочно прерывается. В этом случае блок else не срабатывает и мы не видим сообщения, что сумма вычислена корректно. Если же все проходит штатно (без вызова break), то в консоли появляется сообщение
Сумма вычислена корректно
означающее выполнение блока else.
Раз уж мы начали говорить об управляющем операторе break, сразу отметим второй подобный оператор
continue
Этот оператор позволяет пропускать тело цикла и перейти к следующей итерации, не прерывая работу самого цикла. Например, мы хотим перебрать все целые значения от -4 до 4, исключая значение 0. Такую программу можно реализовать так:
S=0; i=-5 while i < 4: i=i+1 if i == 0: continue print(i) S += 1/i print(S)
При выполнении этой программы увидим, что в консоль выведены все значения кроме нуля. Так как при i=0 срабатывает условие и выполняется оператор continue. Все что находится после этого оператора пропускается и цикл продолжается уже со значением i=1.
Вот так работают эти два управляющих оператора break и continue, которые можно использовать во всех операторах циклов.
Оператор цикла for
Следующий и, наверное, самый часто используемый оператор цикла – это оператор for, который имеет такой синтаксис:
for <переменная> in <список> :
операторы 1…N
Например,
for x in 1,5,2,4: print(x**2)
выведет в консоль квадраты соответствующих чисел. Но что, если мы хотим перебрать значения по порядку в соответствии с правилом:
начальное значение, шаг, конечное значение
Для этого используется генератор последовательностей
range(start, stop, step)
Например, если мы запишем его вот так:
for x in range(1,5,1): print(x)
то в консоли увидим числа от 1 до 4 с шагом 1. То есть, range генерирует последовательность в интервале
[1;5)
Последнее значение не входит в интервал. Если в нашем примере поставить шаг отрицательный -1, то конечное значение 5 не может быть достигнуто и в этом случае Python возвратит пустую последовательность:
for x in range(1,5,-1): print(x)
Если нам нужны числа от 5 до 1, то следует записывать range в таком виде:
for x in range(5,0,-1): print(x)
Причем, в range можно записывать только целые числа, с вещественными он не работает.
Давайте перепишем нашу программу подсчета суммы
с помощью цикла for, получим:
S=0 for i in range(1, 1001, 1): S += 1/i print(S)
Здесь весь цикл записан буквально в одну строчку, а тело цикла состоит из одного оператора – подсчета суммы ряда.
Вторым примером рассмотрим задачу вычисления значений линейной функции
Программа будет выглядеть так:
k = 0. 5; b = 2 lst = [0, 0.1, 0.2, 0.3, 0.4, 0.5] for x in lst: print(x*k+b)
Этот пример показывает, что для перебора значений счетчика x можно использовать списки, сформированные ранее в программе. (О списках мы подробнее будем говорить на последующих занятиях). Здесь же приведем еще один пример:
msg = "Hello World!" for x in msg: print(x)
Он показывает, что строку можно воспринимать как список и перебирать с помощью цикла for.
Также в цикле for можно использовать блок else, о котором мы говорили ранее:
for <переменная> in <список> :
операторы 1…N
else:
операторы 1…N
Вложенные циклы
Итак, мы с вами рассмотрели два оператора циклов: while и for. Все эти циклы можно комбинировать друг с другом. То есть, создавать вложенные циклы (цикл внутри цикла).
Как это работает? Представьте, что бегун начинает бежать по большому кругу, но затем, для продолжения бега, ему необходимо сделать еще несколько вложенных кругов, после чего он возвращается на большой круг и продолжает свой бег.
В частности, такие вложенные циклы очень полезны для перебора элементов матрицы
Тогда мы делаем первый цикл от 1 до N и вложенный от 1 до M
A = [ [1,2,3], [4,5,6] ] N=2; M=3 for i in range(N): for j in range(M): print(A[i][j]) print()
Или для подсчета вот такой двойной суммы ряда
Программа будет выглядеть так:
S=0; M=10; N=5 for i in range(1,N+1): for j in range(1,M+1): S += i*j print(S)
Мы здесь сначала пробегаем все значения j от 1 до M при фиксированном i=1, затем, значение i увеличивается на 1, становится 2 и при этом i снова пробегаются значения j от 1 до M. И так пока i не превысит значение N. То есть, второй цикл вложен вот в этот первый. И таких вложений можно делать сколько угодно.
Вот так работают операторы циклов в Python и теперь вы знаете как их можно применять на практике.
Видео по теме
#1. Первое знакомство с Python Установка на компьютер
#2. Варианты исполнения команд. Переходим в PyCharm
#3. Переменные, оператор присваивания, функции type и id
#4. Числовые типы, арифметические операции
#5. Математические функции и работа с модулем math
#6. Функции print() и input(). Преобразование строк в числа int() и float()
#7. Логический тип bool. Операторы сравнения и операторы and, or, not
#8. Введение в строки. Базовые операции над строками
#9. Знакомство с индексами и срезами строк
#10. Основные методы строк
#11. Спецсимволы, экранирование символов, row-строки
#12. Форматирование строк: метод format и F-строки
#13. Списки — операторы и функции работы с ними
#14. Срезы списков и сравнение списков
#15. Основные методы списков
#16. Вложенные списки, многомерные списки
#17. Условный оператор if. Конструкция if-else
#18. Вложенные условия и множественный выбор. Конструкция if-elif-else
#19. Тернарный условный оператор. Вложенное тернарное условие
#20. Оператор цикла while
#21. Операторы циклов break, continue и else
#22. Оператор цикла for. Функция range()
#23. Примеры работы оператора цикла for. Функция enumerate()
#24. Итератор и итерируемые объекты. Функции iter() и next()
#25. Вложенные циклы. Примеры задач с вложенными циклами
#26. Треугольник Паскаля как пример работы вложенных циклов
#27. Генераторы списков (List comprehensions)
#28. Вложенные генераторы списков
#29. Введение в словари (dict). Базовые операции над словарями
#30. Методы словаря, перебор элементов словаря в цикле
#31. Кортежи (tuple) и их методы
#32. Множества (set) и их методы
#33. Операции над множествами, сравнение множеств
#34. Генераторы множеств и генераторы словарей
#35. Функции: первое знакомство, определение def и их вызов
#36. Оператор return в функциях. Функциональное программирование
#37. Алгоритм Евклида для нахождения НОД
#38. Именованные аргументы. Фактические и формальные параметры
#39. Функции с произвольным числом параметров *args и **kwargs
#40. Операторы * и ** для упаковки и распаковки коллекций
#41. Рекурсивные функции
#42. Анонимные (lambda) функции
#43. Области видимости переменных. Ключевые слова global и nonlocal
#44. Замыкания в Python
#45. Введение в декораторы функций
#46. Декораторы с параметрами. Сохранение свойств декорируемых функций
#47. Импорт стандартных модулей. Команды import и from
#48. Импорт собственных модулей
#49. Установка сторонних модулей (pip install). Пакетная установка
#50. Пакеты (package) в Python. Вложенные пакеты
#51. Функция open. Чтение данных из файла
#52. Исключение FileNotFoundError и менеджер контекста (with) для файлов
#53. Запись данных в файл в текстовом и бинарном режимах
#54. Выражения генераторы
#55. Функция-генератор. Оператор yield
#56. Функция map. Примеры ее использования
#57. Функция filter для отбора значений итерируемых объектов
#58. Функция zip. Примеры использования
#59. Сортировка с помощью метода sort и функции sorted
#60. Аргумент key для сортировки коллекций по ключу
#61. Функции isinstance и type для проверки типов данных
#62. Функции all и any. Примеры их использования
#63. Расширенное представление чисел. Системы счисления
#64. Битовые операции И, ИЛИ, НЕ, XOR. Сдвиговые операторы
#65. Модуль random стандартной библиотеки
Цикл for и цикл while в Python — 9 примеров
Как устроены циклы в Python?
Циклы в Python позволяют разработчикам повторять определенные части своего кода через ряд циклов, которые называются итерациями. Python поддерживает цикл for и цикл while.
Синтаксис цикла for в Python
Цикл for в Python итерирует по заданной последовательности и обладает следующим синтаксисом:
for <variable> in <iterable>: for <variable> in range(<number>): for <variable> in range(<start_number>, <end_number>): for <variable> in range(<start_number>, <end_number>, <step_size>): for i, <variable> in enumerate(<iterable>): # с индексом i for <variable1>, <variable2> in zip(<iterable1>, <iterable2>):
Синтаксис цикла while в Python
Цикл while в Python повторяется, пока выполняется определенное логическое условие и обладает следующим синтаксисом:
while <boolean expression>: ...
Как работать с циклами в Python?
Ниже собраны примеры решений основных задач, с которыми сталкиваются Python разработчики и дата-саентисты:
- Как перебрать значения списка циклом for?
- Как получить индекс элемента в цикле for в Python?
- Как перебрать словарь (dict) циклом for?
- Как работает цикл while в Python?
- Что такое pass в Python или как ничего не делать в цикле?
- Как выполнить следующий проход цикла используя оператор continue?
- Как досрочно выйти из цикла используя оператор break?
- Как выполнить код после завершения цикла используя оператор else?
- Как вернуть значение из цикла оператором return?
Как перебрать значения списка циклом for?
Циклы for перебирают коллекцию элементов, таких как list или dict, и запускают блок кода с каждым элементом из коллекции.
for i in [0, 1, 2, 3, 4]: print(i) # 0 # 1 # 2 # 3 # 4
Вышеприведенный цикл for выполняет итерацию по списку чисел.
Каждая итерация устанавливает значение i для следующего элемента списка. Итак, сначала это будет 0, затем 1, затем 2 и т.д
Аналогично, цикл работает с любыми типами списков, например, со списком строк:
Часто, необходимо сгенерировать последовательность чисел и обойти ее, для этого удобно использовать функцию range:
for x in range(1, 6): print(x) # 1 # 2 # 3 # 4 # 5
Как получить индекс элемента в цикле for в Python?
Если вы хотите зациклить как элементы списка, так и индекс для элементов, вы можете использовать функцию enumerate:
for index, item in enumerate(['one', 'two', 'three', 'four']): print(index, '::', item) # (0, '::', 'one') # (1, '::', 'two') # (2, '::', 'three') # (3, '::', 'four')
Функция enumerate генерирует кортежи, которые распаковываются в индекс (целое число) и элемент (фактическое значение из списка).
Как перебрать словарь (dict) циклом for?
Ключи словаря в Python можно перебрать циклом for следующим образом:
Это эквивалентно использованию метода словаря keys:
Для перебора значений словаря в Python необходимо использовать метод словаря values:
d = {"a": 1, "b": 2, "c": 3} for value in d.values(): print(values) # Вывод: # 1 # 2 # 3
Для перебора ключей и значений словаря используйте метод items:
Метод items
возвращает последовательность кортежей, использование for с несколькими переменными (key
, value
) называется распаковкой. Ее можно применять и для списков:
collection = [('a', 'b', 'c'),('x', 'y', 'z'),('1', '2', '3')] for i1, i2, i3 in collection: print('i1 =', i1, ':: i2 =', i2, ':: i3 =', i3) # Вывод: # i1 = a :: i2 = b :: i3 = c # i1 = x :: i2 = y :: i3 = z # i1 = 1 :: i2 = 2 :: i3 = 3
Как работает цикл while в Python?
Цикл while будет повторять код в блоке, пока условие цикла не станет False. Следующий код выполнит код в блоке цикла 4 раза:
i = 0 while i < 4: i = i + 1
Если условие всегда истинно, цикл while будет выполняться бесконечно. Бесконечный цикл можно завершить оператором break, return или исключением.
while True: print "Infinite loop" # Вывод: # Infinite loop # Infinite loop # Infinite loop # ...
Что такое pass в Python или как ничего не делать в цикле?
pass — это нулевой оператор и используется, когда оператор требуется синтаксисом Python (например, в теле цикла for или while), но никакие действия не нужны. Этот оператор можно использовать как заполнитель для кода, который ещё не написан.
for x in range(10): pass # нам не нужно ничего выполнять или пока не знаем что здесь должно быть, поэтому используем pass
В этом примере ничего не произойдёт. Цикл for завершится без ошибок, но никакие команды или код не будут выполнены. pass позволяет нам успешно выполнять наш код без полной реализации всех команд и действий.
Аналогично, pass можно использовать в циклах while, а также в выборках, определениях функций и т.д.
while x == y: pass
Как выполнить следующий проход цикла используя оператор continue?
Оператор continue перейдет к следующей итерации цикла, минуя остаток текущего блока кода, но продолжая цикл. Оператор continue может использоваться только внутри цикла:
Обратите внимание, что 2 и 4 не выводятся. Это происходит потому, что continue переходит к следующей итерации, а не продолжает выводить i, когда i==2 или i==4.
Как досрочно выйти из цикла используя оператор break?
Оператор break моментально прерывает дальнейшее выполнение кода внутри цикла:
Использование операторы break, как и в случае с continue, допускаются только внутри циклов.
Оператор break также доступен внутри циклов for:
Обратите внимание, что 3 и 4 не выводятся после окончания цикла.
Если цикл имеет условие else, оно не выполняется, когда цикл завершается с помощью оператора break.
Как выполнить код после завершения цикла используя оператор else?
Циклы for и while могут иметь условие else.
Условие else выполняется только после завершения цикла for путем итерации до завершения в случае цикла for или после завершения цикла while, когда его условное выражение становится ложным.
Пример условия else в цикле for:
for i in range(3): print(i) else: print('done') # 0 # 1 # 2 # done
Пример условия else в цикле while:
Условие else не выполняется, если цикл завершается принудительно (например, с помощью оператора break или путем вызова исключения):
Зачем использовать конструкцию for/while … else?
Частой задачей на использование конструкции for . .. else является реализация поиска, например:
a = [1, 2, 3, 4] for i in a: if type(i) is not int: print(i) break else: print("no exception") # Вывод: # no exception
Для простоты восприятия, можно читать эту конструкцию как «if not break» или «if not found».
Как вернуть значение из цикла оператором return?
Оператор return выводит значение из функции, не выполняя следующий за нем код.
Если у вас есть цикл внутри функции, использование return внутри цикла эквивалентно break, поскольку остальная часть кода цикла не выполняется. Код следующий за циклом также не выполняется:
Если вы используете return во вложенных циклах, оператор return прервёт все циклы:
Упражнение для закрепления
Обойдите и распечатайте массив всех четных чисел из списка в том же порядке, в котором они были получены. Не выводите цифры, которые появятся в последовательности после 237.
Решение упражнения
numbers = [951, 402, 984, 651, 360, 69, 408, 319, 601, 485, 980, 507, 725, 547, 544, 615, 83, 165, 141, 501, 263, 617, 865, 575, 219, 390, 984, 592, 236, 105, 942, 941, 386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345, 399, 162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217, 815, 67, 104, 58, 512, 24, 892, 894, 767, 553, 81, 379, 843, 831, 445, 742, 717, 958, 609, 842, 451, 688, 753, 854, 685, 93, 857, 440, 380, 126, 721, 328, 753, 470,743, 527] # your code goes here output = [] for number in numbers: if number == 237: break if number % 2 == 1: continue output.append(number) print(output)
В чем разница между циклами For и While в Python
::: section{.m Циклы используются для многократного выполнения инструкций до тех пор, пока условие не станет истинным. Разница между циклом for и циклом while заключается в том, что for разрешает инициализацию , проверку условий и итерации в верхней части цикла, тогда как while позволяет только инициализацию и проверку условий в верхней части цикла . :::
Что такое циклы?
Циклы — самая мощная и основная концепция компьютерного программирования. Цикл — это инструкция, которая выполняет оператор до тех пор, пока не будет достигнуто определенное условие. Количество раз, которое цикл повторяет сам цикл , называется итерацией . Некоторыми операторами управления циклом являются break и continue. Различные типы циклов for, while, do while и т. д. В каждом языке программирования, включая C, C++, Java, Python и т. д., есть понятие цикла.
- Для петли: Цикл for — это оператор потока управления, который многократно выполняет код в течение определенного количества итераций. В этом операторе потока управления используется ключевое слово for. Цикл for используется, когда количество итераций уже известно.
Цикл for состоит из двух частей:
- Заголовок: Часть заголовка определяет итерацию цикла. В этой части также объявляется переменная цикла, которая сообщает телу, какая итерация выполняется.
- Тело: Эта часть содержит инструкцию, выполняемую за итерацию.
Посмотрим, как проходит цикл for:
- Инициализируем начальное значение
- Убедитесь, что начальное значение меньше конечного.
- Выполнить оператор.
- Увеличение начального значения. Давайте посмотрим, как работает цикл for.
Синтаксис цикла for:
sequence = [True, True] # Инициализация для iterator_var последовательно: # Условие и обновление операторы # Тело цикла
Пример цикла for:
n = [1, 2, 3] # Инициализация for i in n: # Состояние и обновление печать (я)
Вывод
- Цикл while: Цикл, выполняющий один оператор или группу операторов для заданного истинного условия. Ключевое слово, используемое для представления этого цикла, — «, а ». Цикл while используется, когда количество итераций неизвестно. Оператор повторяется до тех пор, пока логическое значение не станет ложным. В цикле while условие проверяется в начале, также известном как предварительный цикл . Посмотрим, как проходит цикл while:
- Инициализация начального значения
- Убедитесь, что начальное значение меньше конечного.
- Выполнить оператор.
- Увеличение начального значения. Давайте посмотрим, как работает цикл while.
Синтаксис цикла while:
выражение = True # Инициализация выражение while: # Условие оператор(ы) # Тело цикла
Пример цикла while:
i = 1 # Инициализация в то время как я < 6: # условие печать (я) i += 1 # Обновление
Выход:
1 2 3 4 5
Инициализация в соответствии с итерацией
В случае цикла for синтаксис выполняется, когда инициализация находится в начале синтаксиса. С другой стороны, в случае цикла while позиция оператора инициализации не имеет значения для выполнения синтаксиса цикла while.
Когда использовать?
Цикл for используется, когда мы уже знаем количество итераций, что означает, когда мы знаем, сколько раз оператор должен быть выполнен. Вот почему мы должны указать конечную точку при инициализации цикла for.
Когда нам нужно завершить цикл по условию, отличному от количества раз, мы используем цикл while. В этом случае нет необходимости заранее знать условие. Вот почему мы можем задать логическое выражение при инициализации цикла.
Отсутствие условия
Если в цикле for и while не указано условие, цикл for будет повторяться бесконечное количество раз. Разница между циклом for и циклом while при отсутствии условия:
- Цикл For: Приведенный ниже цикл будет выполняться бесконечное число раз .
а = [1] для я в: печать("Масштабатор") а. добавить (я)
- Пока цикл: Цикл ниже будет работать бесконечное количество раз .
пока верно: распечатать("Привет")
:::
Природа инициализации
В случае цикла for инициализация выполняется один раз в начале, поэтому нет необходимости инициализировать ее снова. Но в случае цикла while нам необходимо инициализировать цикл вручную, взяв переменную, которая в дальнейшем изменяется (увеличивается, уменьшается, умножается и т. д.) в соответствии с нашим требованием.
Цикл for и while в Python
Давайте посмотрим на разницу между циклом for и циклом while:
Параметр | Цикл "For" | Цикл "While" |
---|---|---|
Ключевое слово | Используется ключевое слово. | При использовании ключевого слова. |
Использование | Количество итераций уже известно. | Нет предварительной информации о количестве итераций. |
При отсутствии условия | Цикл выполняется бесконечное число раз. | Показать ошибку времени компиляции. |
Инициализация Природа | Однократное выполнение не может быть повторено. | Повторять на каждой итерации. |
Инициализация в соответствии с итерацией | Выполняется при запуске цикла. | Может выполняться в любом месте тела цикла. |
Используемая функция | Функция Range или xrange используется для итерации. | В цикле while такая функция не используется. |
Поддержка генераторов | Цикл for можно повторять на генераторах в Python. | Цикл While не может выполняться непосредственно на генераторах. |
Скорость | Цикл For быстрее, чем цикл while. | Цикл While работает медленнее по сравнению с циклом for. |
Таким образом, это было основное различие между циклом for и циклом while.
Узнать больше
- Цикл while в Python
- Цикл for в Python
- Для еще и пока еще в Python
Заключение
Давайте завершим нашу тему «Разница между циклами for и while», упомянув некоторые важные моменты.
- В цикле for набор объявлений, включая итерации и условия, находится в верхней части тела.
- В цикле while инициализация всегда вне цикла. До или после выполнения оператора(ов) может быть выполнено обновление.
- Цикл for — это оператор потока управления, который многократно выполняет код в течение определенного количества итераций.
- Цикл, выполняющий один оператор или группу операторов для заданного истинного условия. Ключевое слово, используемое для представления этого цикла, — while.
- Если в цикле for не указано условие, цикл будет повторяться бесконечное количество раз, а в случае цикла while выдаст ошибку (ошибка времени компиляции).
Разница между циклом For и циклом While
Цикл for используется только тогда, когда количество итераций уже известно. Цикл while используется, когда количество итераций заранее неизвестно .
Содержание
1
Компьютеры работают на языках высокого уровня, таких как C, C++, Java, Python и т. д. Компьютерные языки помогают нам получать результаты, которые трудно получить вручную.
Эти языки высокого уровня работают с определенной структурой команд. Одной из основных структур команд, используемых в языках высокого уровня, являются циклы.
Цикл — это команда, которая имеет тенденцию повторяться для получения желаемого результата. Другими словами, команда программирования, которая повторяется либо известное количество раз, либо неизвестное количество раз для выполнения определенных условий, определяется как цикл.
Существуют различные виды циклов, такие как цикл for, цикл while, цикл if, цикл if-else, цикл if-else-if и т. д. Но чаще всего используются циклы for и while.
Цикл for и цикл whileРазница между циклом for и циклом while заключается в том, что в цикле for количество итераций, которое необходимо выполнить, уже известно и используется для получения определенного результата, тогда как в цикле while команда выполняется до тех пор, пока достигается определенное условие, и утверждение оказывается ложным.
Сравнение Таблица
Параметр сравнения | для LOOP | , пока LOOP | . ){//тело цикла } | Структура цикла while- Пока(условие){операторы;//тело} |
---|---|---|
Итерации | Итерации заданное количество раз. | Повторяет до тех пор, пока условие не будет выполнено. |
Условие | При отсутствии условия цикл повторяется бесконечное количество раз, пока не будет достигнута команда прерывания. | При отсутствии условия цикл while показывает ошибку. |
Инициализация | Инициализация в цикле for выполняется только один раз при запуске программы. | Инициализация выполняется каждый раз при повторении цикла. |
Использование | Используется для получения результата только тогда, когда известно количество итераций. | Используется для выполнения условия, когда количество итераций неизвестно. |
Что такое цикл For?
Цикл, в котором оператор управления выполняется заранее известное количество раз для получения результата, называется циклом for. Можно сказать, что цикл for — это повторяющаяся команда.
В цикле for команда управляется переменной. Каждый раз, когда цикл повторяется, предопределенная переменная получает новое значение.
Цикл for представляет собой набор из трех сегментов-
- Инициализация
- Состояние
- Обновление
Во время инициализации цикла for необходимо объявить начальное значение переменной. Этот цикл требует инициализации только один раз.
После инициализации компилятор проверяет, верно условие или нет, и если оно истинно, цикл продолжает выполняться до тех пор, пока не будет получено предопределенное количество итераций.
Что такое цикл While?
Цикл while — это когда команда повторяется неопределенное количество раз, пока условие не станет истинным. Как только условие оказывается ложным, итерация команды останавливается.
Инициализация в цикле while выполняется каждый раз, когда цикл повторяется. Компилятор проверяет условие и, если оно оказывается ложным, цикл переходит к следующему оператору.
Цикл while работает со следующим синтаксисом:
- While(условие){
- //код
- //тело цикла}
Если начальное условие в цикле while отсутствует, цикл повторяется бесконечно. В цикле while для переменной не создается новое значение, выполняется только условие.
В цикле while условие проверяется перед итерацией, поэтому он также известен как цикл предварительного тестирования.
Основные различия между Цикл For и цикл While
- B В цикле for количество выполняемых итераций уже известно, тогда как в цикле while количество итераций неизвестно.
- Цикл For содержит только одно условие, тогда как цикл while может содержать набор команд, которые должны выполняться вместе.