Цикл for
Цикл for менее универсальный, но работает быстрее, чем цикл while. Он способен проходить по любому итерируемому объекту, будь то списки, словари, кортежи, строки и не требует ручного увеличения счетчика итераций:
В примере выше написана программа с использованием цикла for. Мы указываем, что наша вложенная инструкция print(i) должна выполняться для каждого элемента из массива [1, 2, 3, 4, 5 ,6 ,7 ,8 ,9 , 10, 11, 12, 13]. То есть данный цикл описывает конструкцию:
В нашем примере все равно отсутствует элегантность, присущая языку Python. Давайте попробуем что-нибудь сделать с массивом из 13 чисел. Что если нам понадобится выводить 100 или 100000 чисел? Для этих целей применим функцию range(), которая поможет нам автоматически сгенерировать последовательность чисел.
>>> var = range(1, 14)
>>> print(var)
range(1, 14)
>>> print(var[0])
1
>>> print(var[1])
2
>>> print(var[12])
13
>>> print(var[14])
Traceback (most recent call last):
File "<pyshell 77>", line 1, in <module>
print(var[14])
IndexError: range object index out of range
Мы присвоили переменной значение выражения range(1,14), после того, как мы решили вывести содержимое переменной var, обнаружилось, что в ней заложено это выражение - range(1, 14). Как говорилось ранее, range это особый тип, который содержит в себе последовательность данных. Чтобы это показать, выполним команду print(var[0]), которая выводит содержимое переменной, стоящей в 0 ячейке памяти. Ячейки памяти берут отсчет с 0, поэтому на 12 позиции будет храниться число 13, как видно из примера. Тем самым мы видим, что переменная var содержит в себе последовательность чисел от 1 до 13. Но как быть с 14 позицией, ведь в команде range() второй параметр у нас равен 14? Особенность range() состоит в том, что последнее число последовательности не включается в нее, то есть мы говорим, что нам надо сформировать последовательность чисел от 1 до 14, не включая 14. Функция range() работает так, потому что чаще всего используется для работы с индексами, отсчет которых начинается с 0.
Вернемся к циклу for. Теперь мы можем написать нашу программу максимально компактно:
В принципе, цикл for можно также изображать на блок-схемах, как и цикл while. Важно помнить, что увеличение счетчика и его начальное значение заложено внутри оператора for и его не надо прописывать отдельно.
Примечание. Если необходимо выводить элементы цикла без перехода на следующую строку, то можно использовать параметр end=' ' для функции print(). Этому параметру можно ничего не передавать, можно передавать пробелы или другие знаки:
#pythonснуля #программированиенаpython #урокиpython #python3 #операторfor
Не забываем ставить лайк и подписываться на мой канал: zen.yandex.ru/...bramenkova Впереди много познавательного!
-----
Будем дружить vk.com/...bramenkova
Благодарю каждого за репост!)