Различия между циклами for и while
В цикле for i in range(n) в переменную i будет поочередно записываться каждое значение из диапазона range(n) , например:
In [1]: for i in range(3): . print(i) . 0 1 2
Сначала i принимает значение 0 , затем 1 , и так пока не дойдем до n .
Также циклом for можно пройтись по любому итерабельному объекту, например:
In [4]: array = [1, 2, 3] In [5]: for i in array: . print(i)
В переменную i поочередно будет записаны значения из списка array .
In [2]: i = 0 In [3]: while i < 3: . print(i) . i += 1 . 0 1 2
На каждой итерации мы проверяем меньше ли переменная i чем 3 , если это так, то выводим значение переменной i и прибавляем к ней единицу, повторяем это пока проверка на i < 3 не вернёт False . Мы по сути говорим, пока что-то истинно, то выполняй какие то действия.
Помните пример с циклом for когда мы проходили по списку? С while дело обстоит иначе, нам нужно вытягивать из списка элементы по их индексам, т.е в условие будет выглядеть так: while i < len(array) , функция len(iterable) вернёт нам кол-во элементов в списке, на примере того же array :
In [6]: i = 0 In [7]: while i < len(array): . print(array[i]) . i += 1
Чтобы определить бесконечный цикл while , нужно указать такое условие, которое всегда истинно, например while True .
С циклом for все сложнее, бесконечный цикл явно указать нельзя, так как цикл for закончит свою работу тогда, когда пройдет по всем элементам объекта, следовательно нужно ему передать такой объект, в котором бесконечно элементов, тут нам помогут генераторы, говорить о них детально я не буду, так как тема довольно обширная, лишь покажу небольшой пример с модулем itertools :
In [11]: from itertools import count In [12]: for i in count(): . print(i) # 1, 2, 3, 4 .
Таким образом мы определили бесконечный цикл for , count также принимает 2 необязательных аргумента, start число с которого начнём итерацию, и step собственно шаг.
Тут Вы можете найти немного задачек на циклы для практики.
Чем While/Do while отличается от For?
Здравствуйте, я начинаю программист. C++ первый язык, который я начал изучать. Подскажите, пожалуйста, чем While и Do While отличается от For.
- Вопрос задан более двух лет назад
- 97 просмотров
Комментировать
Решения вопроса 2
Токсичный шарпист
Разница только на уровне синтаксиса, просто for - частный случай while:
int counter = start; while(condition(counter)) < //. after(&counter); >
for(int counter = start; condition(counter); after(&counter)) < //. >
Ответ написан более двух лет назад
Нравится 2 1 комментарий
Для полной аналогии еще добавить фигурные скобки вокруг кода с while. Т.к. разные области видимости counter. А в случае объектов - время жизни.

System Integrator
Почти ничем, из while легко сделать for, а из for легко сделать while.
Просто для удобства сделали так, что while выполняется, пока истинно заданное условие, которое проверяется до или после выполнения одного цикла, а for выполняется определённое в счётчике количество раз.
Чем отличается цикл for от цикла while Python?
Цикл for уже чуточку сложнее, чуть менее универсальный, но выполняется гораздо быстрее цикла while. Этот цикл проходится по любому итерируемому объекту (например строке или списку), и во время каждого прохода выполняет тело цикла.
В чем разница между for и while Python?
Да, есть огромная разница между временем и для. Оператор for выполняет итерацию через функцию коллекции или итерируемого объекта или генератора. Оператор while просто пеет до тех пор, пока условие не будет False. . Это дает нам структуру данных, специально разработанную для оператора for .
Как работает цикл while в Python?
Цикл while используется в Python для неоднократного исполнения определенной инструкции до тех пор, пока заданное условие остается истинным. Этот цикл позволяет программе перебирать блок кода. . Если оно истинное, начинается цикл, и тело while исполняется. Тело будет исполняться до тех пор, пока условие остается истинным.
Какая разница между for и while?
while – Проверяет условие перед каждой итерацией. do.. while – Проверяет условие после каждой итерации. for (;;) – Проверяет условие перед каждой итерацией, есть возможность задать дополнительные настройки.12 мая 2021 г.
Что такое for C++?
Цикл for в C++ Цикл — многократное прохождение по одному и тому же коду программы. Циклы необходимы программисту для многократного выполнения одного и того же кода, пока истинно какое-то условие. Если условие всегда истинно, то такой цикл называется бесконечным, у такого цикла нет точки выхода.25 авг. 2012 г.
Как работает цикл в С ++?
В цикле do сначала выполняется код цикла, а потом происходит проверка условия в инструкции while. И пока это условие истинно, то есть не равно 0, то цикл повторяется.17 сент. 2017 г.
Как называется оператор цикла for?
Цикл for. Цикл for еще называется циклом с параметром. Общая форма оператора цикла for: for (инициализация; выражение; прирост) < // последовательность операторов // . >инициализация – операция присваивания, в которой устанавливается начальное значение переменной цикла.4 сент. 2017 г.
В чем отличие цикла с предусловием от цикла с предусловием?
Разница между циклом предусловием и постусловием состоит в том, что: в цикле с предусловием сначала проверяется условие и если оно выполняется, выполняется тело цикла. в цикле с постусловием сначала выполняется тело цикла и лишь потом условие.8 окт. 2013 г.
Что означает предусловие и постусловие?
Предусловие определяет свойства, которые должны выполняться всякий раз перед вызовом функции, а постусловие определяет свойства, гарантируемые после завершения ее выполнения. Предусловие и постусловие определяют контракт функции со всеми ее клиентами.11 мая 2010 г.
Что такое Постусловие?
Постусловие - условие, истинность которого проверяется после выполнения тела цикла или процедуры.
Что такое предусловие?
Предусловие — условие, истинность которого проверяется в начале выполнения тела цикла или процедуры.
Какие есть отличия оператора while от оператора repeat?
В отличие от цикла while , условие вычисляется после очередной итерации цикла, и если оно истинно, то происходит выход из цикла. Таким образом, операторы, образующие тело цикла оператора repeat , выполняются по крайней мере один раз.
Какие функции выполняет оператор for?
Для чего предназначен оператор repeat?
Repeat — это цикл, в котором условие стоит после тела. Причем оно выполняется тогда и только тогда, когда результат условия false; как только логическое выражение становится true, выполнение цикла прекращается. Begin и end не требуются. . Цикл прекратится, так условие стало true.>21 апр. 2020 г.
В чём разница между циклами while и for?
Сравниваю циклы while и for и хочу понять разницу между ними.
Получается они выполняют условно одно и тоже, но разница в синтаксисе. Это вся разница?
И результат вышел одинаковым.
- Вопрос задан более трёх лет назад
- 1588 просмотров
1 комментарий
Простой 1 комментарий

Модератор @TosterModerator
Юра Сторчака дорогой пользователь, настоятельно рекомендуем еще раз обратить самое пристальное внимание на п. 3.1 регламента работы сервиса (и, в особенности, на его последний абзац).
В противном случае ваши вопросы будут удаляться по причине тег-спама, а систематические нарушения приведут к блокировке учетной записи.
