Python циклы for: Интерактивный учебник языка Python

Цикл for в Python — Учебник по Python

04.03.20212021-03-04T12:13:15+03:002021-03-04T12:31:07+03:00 Python Комментариев нет

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

В Python есть две основные конструкции циклов, которые позволяют многократно повторять блок кода: циклы for и while

В этой статье мы рассмотрим основы for в Python. Мы также покажем вам, как использовать range для генерации последовательности чисел, а else break и continue для изменения потока цикла.

Содержание

for в Python

Цикл for в Python перебирает элементы последовательности и многократно выполняет блок операторов.

Цикл for Python имеет следующую форму:

for item in sequence: statements

Оператор for начинается с for , затем переменной ( item ), которой назначается каждый элемент последовательности (цель управления циклом), за которым следует in и, наконец, последовательность. Каждый условный оператор заканчивается двоеточием ( : ).

Блок statements начинается с отступа и заканчивается первой строкой без отступа. Большинство людей предпочитают использовать отступы с четырьмя или двумя пробелами. Официальное руководство по стилю для кода Python рекомендует использовать 4 пробела для каждого уровня отступа и избегать смешивания использования табуляции и пробелов для отступа.

Вот пример:

berries = ["Blueberry", "Raspberry", "Strawberry"]

for berry in berries:
  print(berry)
Blueberry
Raspberry
Strawberry

Вы можете перебирать любую последовательность, такую как строка, список, словарь или кортеж.

В приведенном ниже коде мы перебираем символы в строке linux:

for x in 'linux':
  print(x)
l
i
n
u
x

При просмотре словаря переменная присваивается ключу:

berries = {'Blueberry': 100, 'Raspberry': 125, 'Strawberry': 150}

for key in berries:
  print(key)
Blueberry
Raspberry
Strawberry

Для доступа к значениям словаря используйте индекс ключа:

berries = {'Blueberry': 100, 'Raspberry': 125, 'Strawberry': 150}

for key in berries:
  print(berries[key])

Другой вариант для цикла по значениям словаря — использовать метод values() :

berries = {'Blueberry': 100, 'Raspberry': 125, 'Strawberry': 150}

for value in berries.
values(): print(value)

Результат обоих примеров одинаков:

100
125
150

Конструктор

range()

Конструктор Python range() позволяет генерировать последовательность целых чисел, определяя начальную и конечную точки диапазона. range() работает по-разному в Python 2 и 3. В этой статье мы используем Python 3.

range() обычно используется с for для перебора последовательности чисел. Это Python-эквивалент цикла for

Когда указан только один аргумент, range возвращает последовательность чисел, увеличенных на 1, начиная с 0 до argument - 1 :

for i in range(3):
  print(i)
0
1
2

Если указаны два аргумента, range

возвращает последовательность чисел, увеличенных на 1, начиная с первого аргумента до second argument - 1 :

for i in range(3, 5):
  print(i)
3
4

Третий аргумент позволяет указать приращение:

for i in range(0, 16, 5):
  print(i)
0
5
10
15

Вложенный

for цикл

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

for i in range(0, 6):
  for j in range(0, 6):
    print('%d + %d = %d' % (i, j, i+j))
0 + 0 = 0
0 + 1 = 1
0 + 2 = 2
...
5 + 3 = 8
5 + 4 = 9
5 + 5 = 10

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

Операторы break и continue позволяют контролировать выполнение цикла for .

Оператор break

Оператор

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

В следующем примере мы используем if для прекращения выполнения цикла, когда текущий повторяемый элемент равен ‘Raspberry’:

for i in ["Blueberry", "Raspberry", "Strawberry"]:
  if i == "Raspberry":
    break
  print(i)
Blueberry

Оператор continue

Оператор continue завершает текущую итерацию цикла и передает управление программой следующей итерации цикла. Цикл не прерывается; пропускается только текущая итерация.

В следующем примере мы перебираем диапазон чисел. Когда текущий повторяемый элемент равен ‘3’,

continue приведет к возврату выполнения к началу цикла и продолжению следующей итерации:

for i in range(1, 6):
  if i == 3:
    continue
  print(i)
1
2
4
5

Пункт

else

В Python for может иметь необязательное предложение else

Предложение else выполняется, когда цикл завершается нормально, то есть когда все итерации исчерпаны:

for i in ["Blueberry", "Raspberry", "Strawberry"]:
  print(i)
else:
  print('Loop completed.')
Blueberry
Raspberry
Strawberry
Loop completed.

Когда цикл завершается break или continue , предложение else не выполняется:

for i in ["Blueberry", "Raspberry", "Strawberry"]:
  if i == "Raspberry":
    break
  print(i)
else:
  print('Loop completed.
')
Blueberry

Вывод

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

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Циклы for и while в Python

  • Цикл for/in
  • Универсальный цикл while
  • Инструкции break и continue
  • Краткие итоги параграфа
  • Вопросы и задания для самоконтроля

Цикл for/in

Еще одной важной инструкцией языка Python является цикл for/in, который можно смело назвать универсальным итератором последовательностей, поскольку он позволяет выполнять обход элементов в любых объектах, поддерживающих возможность совершения итераций. При этом сюда относятся как встроенные объекты, например, строки, списки или словари, так и объекты, создаваемые с помощью классов (о них чуть позже).

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

 for <Переменная> in <Итерируемый объект>:
    <Тело цикла>
 else:
    <Дополнительный блок инструкций> 

В ходе выполнения цикла for интерпретатор один за другим присваивает переменной заголовка элементы итерируемого объекта и выполняет для них инструкции тела цикла (см. пример №1). Если цикл нужно прервать, используется ключевое слово break, которое передает управление инструкции, следующей сразу за циклом. Кроме того, в цикле for разрешается использовать необязательный блок else, набор инструкций которого выполняется только после удачного завершения цикла (т.е. при отсутствии ошибки или прерывания за счет использования инструкции break).

Код Результат pythonCodes

# Формируем список.
li = [2, 5, 9, 4]
    
# Задаем начальную сумму.
sum = 0
# Запускаем цикл по элементам списка.
for elem in li:
    
    # Если сумма чисел меньше 8,
    if sum < 8:
        # наращиваем ее.    
        sum += elem
        # Выводим для наглядности на экран.
        print(sum)
    # Иначе
    else:    
        # выводим предупреждение и
        print("Превышен лимит суммы эл-тов!")                 
        # прерываем цикл.
        break
        
# Если цикл не был прерван.
else:
    # Выводим итоговое сообщение. 
    print("Сумма эл-тов равна:", sum)
	
# Выводим сообщение о завершении проверки.
print("Проверка списка завершена!")
2
7
16
Превышен лимит суммы эл-тов!
Проверка списка завершена!
		
			

Пример №1. Использование цикла for (часть 1).

В примере с помощью инструкции цикла for список проверяется на превышение лимита суммы его элементов. Для этого используется знакомая нам вложенная условная инструкция if/else, которая и проверяет сумму на достижение лимита. Если в ходе очередной итерации цикла сумма не достигает указанного предела, значение счетчика суммы sum увеличивается на значение переменной заголовка цикла elem, т.е. sum += elem. После этого цикл переходит к следующей итерации и присваивает переменной elem значение следующего элемента списка. И так до тех пор, пока не будет завершен обход всех элементов списка или не будет достигнут лимит суммы. Если лимит суммы достигнут не будет, сработает набор инструкций блока else цикла, т.е. итоговая сумма будет выведена на экран. После этого будет выполнена инструкция, следующая за циклом. В случае достижения лимита, сработает набор инструкций блока else условной инструкции if, т.е. будет выведено предупреждение, а цикл будет прерван инструкцией break, которая передаст управление инструкции, опять же, следующей за циклом.

Обратите внимание, что в нашем примере были использованы два блока else: один принадлежит условной инструкции if, а другой – инструкции цикла for/in. Отличить их легко по уровню отступов. Оба блока не являются обязательными в своих конструкциях, но в нашем случае конструкция for/else, позволяет выводить итоговое сообщение не всегда, а только в случае успешного завершения цикла.

Также стоит помнить, что значение переменной заголовка цикла elem при каждой новой итерации обновляется, поэтому после завершения цикла в ней будет храниться значение, присвоенное в ходе последней итерации.

Давайте рассмотрим еще несколько наглядных вариаций цикла for/in, чтобы увидеть, как он используется на практике (см. пример №2).

Код Результат pythonCodes

# Выводим символы строки.
name = 'Григорий'
for s in name: print(s, end=' ')
print('', end='\n\n')
# Используем функцию range(a, b, step).
for n in range(1, len(name), 2): 
    # Выводим каждую вторую букву имени. 
    print(name[n], end=' ')         
print('', end='\n\n')        
# Выводим ключи и значения словаря.
d = {'one': 1, 'two': 2}
for key in d: print(key, '->', d[key])                
print('', end='\n')        
# Используем распаковывание кортежей.
d = [(1, 2), (3, 4), (5, 6)]
for x, y in d: print(x + y, end=' ')                
print('', end='\n\n')        
# А здесь расширенный синтаксис распаковывания.
d = [(1, 2, 3), (4, 5, 6)]
for x, *y in d: print(x, y, end=' ')
Г р и г о р и й 
р г р й 
one -> 1
two -> 2
3 7 11 
1 [2, 3] 4 [5, 6] 
		
			

Пример №2. Использование цикла for (часть 2).

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

Цикл while

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

 while <Условное выражение>:
    <Тело цикла>
 else:
    <Дополнительный блок инструкций> 

Работает цикл while следующим образом: каждый раз перед выполнением новой итерации, т.е. перед очередным выполнением блока инструкций в теле цикла, происходит проверка его условия и, если результат будет иметь значение True, код в теле цикла выполняется; далее интерпретатор возвращается в начало цикла и снова проверяет его условие, повторяя все процедуры заново до тех пор, пока условие цикла не вернет значение False; в этом случае интерпретатор прерывает выполнение цикла и, пропустив блок инструкций в его теле, передает управление либо необязательному ключевому слову else, выполняя дополнительный блок инструкций, либо инструкции, следующей за циклом. При этом следует иметь в виду, что набор инструкций блока else выполняется только тогда, когда выход из цикла производится не инструкцией break (см. пример №3).

Код Результат pythonCodes

# Формируем список.
li = [2, 5, 9, 4]
    
# Задаем начальную сумму.
sum = 0
# Устанавливаем счетчик итераций.
k = 0
# Запускаем цикл по элементам списка.
while k < len(li):
    
    # Если сумма чисел меньше 8,
    if sum < 8:
        # наращиваем ее.    
        sum += li[k]
        # Отслеживаем показания счетчика и суммы.
        print(k, ':', sum)                
        # Счетчик увеличиваем на 1.
        k += 1
    # Иначе
    else:    
        # выводим предупреждение и
        print("Превышен лимит суммы эл-тов!")                 
        # прерываем цикл.
        break
        
# Если цикл не был прерван.
else:
    # Выводим итоговое сообщение.
    print("Сумма эл-тов равна:", sum)
    
# Выводим сообщение о завершении проверки. 
print("Проверка списка завершена!")
0 : 2
1 : 7
2 : 16
Превышен лимит суммы эл-тов!
Проверка списка завершена!
		
			

Пример №3. Использование цикла while (часть 1).

В нашем примере цикл совершил три итерации. На первых двух итерациях сумма элементов списка наращивалась, но не достигла допустимого предела. В результате этого цикл пошел на третий виток, где сумма элементов все-таки превысила лимит. Это привело к тому, что цикл был прерван инструкцией break, а интерпретатор начал обрабатывать выражение вызова функции print(), следующее за циклом. Если бы общая сумма всех элементов списка оказалась меньше допустимого лимита, цикл продолжил бы работу до тех пор, пока переменная счетчика не стала бы равной четырем, а условие цикла не вернуло бы False. Далее интерпретатор пропустил бы блок инструкций тела цикла и стал бы обрабатывать дополнительный набор инструкций его блока else. Попробуйте уменьшить значение элементов списка и убедитесь в этом.

Стоит заметить, что в языке Python отсутствует цикл do/while, имеющийся в других языках программирования. Однако его можно имитировать, добавив в конец тела цикла условную инструкцию одновременно с инструкцией break (см. пример №4).

Код Результат pythonCodes

# Устанавливаем счетчик.
k = 1
# Запускаем бесконечный цикл.
while True:
    
    # Выводим номер итерации.
    print(k, end=' ')               
    # Счетчик увеличиваем на 1.
    k += 1
                
    # Имитируем условную часть цикла do/while.
    if k > 5: break
1 2 3 4 5 

Пример №4. Использование цикла while (часть 2).

Как видим, в данной имитации тело цикла при любом значении счетчика будет выполнено как минимум один раз, что является побочным эффектом проверки условия в конце цикла свойственного реальной конструкции do/while.

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

Инструкции break и continue

Инструкции break и continue используются только внутри циклов и выполняют примерно те же функции, что и в других языках программирования: break прерывает объемлющий цикл и передает управление следующей за циклом инструкции, а continue прерывает только текущую итерацию и производит переход в начало цикла, т.е. в строку заголовка. При этом обе инструкции могут появляться в любом месте внутри тела цикла, но как правило, их используют во вложенных в цикл условных инструкциях if, чтобы выполнить необходимое действие в ответ на некоторое условие (см. пример №5).

Код Результат pythonCodes

# Устанавливаем счетчик.
k = 1
# Запускаем бесконечный цикл.
while True:
    
    # Задаем условие прерывания цикла.
    if k > 10: 
        # Прерываем цикл и идем дальше.
        break            
                
    # Отсеиваем четные числа.
    if k%2 == 0: 
        # Счетчик обязательно увеличиваем. 
        k += 1
        # Пропускаем дальнейшие инструкции
        # и возвращаемся в заголовок цикла.
        continue
    
    # Выводим нечетные числа на экран.
    print(k, end=' ')               
    # Счетчик увеличиваем на 1.
    k += 1                        
      
# Инструкция после цикла.
print('\nВывод нечетных чисел окончен!\n')       
        
# Допустим, что имеется список чисел от 1 до 20.
li = list(range(1, 21))
# Запускаем цикл по элементам списка.
for k in li:
    
    # Задаем условие прерывания цикла.
    if k > 10: 
        # Прерываем цикл и идем дальше.
        break            
                
    # Отсеиваем четные числа.
    if k%2 == 0: 
        # Счетчик обязательно увеличиваем.
        k += 1
        # Пропускаем дальнейшие инструкции
        # и возвращаемся в заголовок цикла.
        continue
    
    # Выводим нечетные числа на экран.
    print(k, end=' ')               
    # Счетчик увеличиваем на 1.
    k += 1                        
      
# Инструкция после цикла. 
print('\nВывод нечетных чисел окончен!')
1 3 5 7 9 
Вывод нечетных чисел окончен!
1 3 5 7 9 
Вывод нечетных чисел окончен!
		
			

Пример №5. Использование инструкций break и continue (часть 1).

Здесь хотелось бы обратить внимание на то, что все виды циклов в Python могут иметь другие вложенные циклы и условные инструкции, позволяя нужным образом изменять дальнейший ход выполнения программы. Но дело в том, что каждая отдельная инструкция break или continue относится только к одному ближайшему объемлющему циклу. Поэтому, например, выйти сразу из всех внешних циклов при помощи всего лишь одной инструкции break расположенной в самом глубоком вложенном цикле не получится, нужно использовать инструкцию во всех циклах текущей иерархии (см. пример №6).

Код Результат pythonCodes

# Задаем стартовое значение счетчика.
y = 1                   
 
# Внешний цикл.
for x in range(1, 11):
    # Умножение на 1 пропускаем. 
    if x == 1:          
        # Переходим в начало цикла for.
        continue 
  
    # Внутренний цикл.
    while True:         
        
        # Умножение на 1 пропускаем.
        if y == 1:          
            # Увеличиваем счетчик на единицу.
            y += 1    
            # Переходим в начало цикла while.
            continue                                     
                                      
        # Выводим произведение чисел.
        print('{} x {} = {}'.format(x, y, x*y))
        
        # При достижении значения y == 5.
        if y == 5:          
            # Переходим на новую строку.
            print()                     
            # Сбрасываем значение счетчика.
            y = 2                     
            # А внутренний цикл прерываем (внешний нет).
            break        
        
        # Увеличиваем счетчик на единицу.
        y += 1              
    
    # При достижении значения x == 5.
    if x == 5:          
        # Прерываем и внешний цикл. 
        break            
  
# Выводим сообщение о завершении циклов.
print('Таблица умножения от 2 до 5 распечатана!')
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
4 x 2 = 8
4 x 3 = 12
4 x 4 = 16
4 x 5 = 20
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
Таблица умножения от 2 до 5 распечатана!
		
			

Пример №6. Использование инструкций break и continue (часть 2).

В Python отсутствует возможность использования конструкций вида break n или continue n, где n указывало бы на количество прерываний внешних циклов. Вместо этого необходимо использовать собственные инструкции для каждого из n циклов по отдельности.

Краткие итоги параграфа

  • Для обхода элементов в любых объектах, поддерживающих возможность совершения итераций, в Python предназначен цикл for/in. В ходе выполнения этого цикла интерпретатор один за другим присваивает переменной заголовка элементы итерируемого объекта и выполняет для них инструкции тела цикла.
  • Для многократного повторного выполнения кода (не только обхода элементов) служит универсальный цикл общего назначения while, который выполняет блок инструкций, расположенный в его теле, до тех пор, пока условие цикла остается истинным, т.е. имеет значение True.
  • При необходимости в циклах for и while разрешается использовать необязательный блок else, набор инструкций которого выполняется только после удачного завершения цикла (т.е. при отсутствии ошибки или прерывания за счет использования инструкции break).
  • При использовании счетчиков следует инициализировать их вне циклов, чтобы при каждой новой итерации их значения не сбрасывались циклом в первоначальное состояние.
  • Для прерывания циклов в Python используется инструкция break, которая прерывает объемлющий цикл и передает управление следующей за циклом инструкции. Если нужно прервать только текущую итерацию, необходимо использовать инструкцию continue, которая после прерывания итерации производит переход в начало цикла, т. е. в строку заголовка. Обе инструкции могут появляться в любом месте внутри тела цикла, но как правило, их используют во вложенных в цикл условных инструкциях if, чтобы выполнить необходимое действие в ответ на некоторое условие.
  • Следует помнить, что в Python разрешается использовать многоуровневые вложенные циклы, однако при этом отсутствует возможность использования конструкций вида break n или continue n, где n указывало бы на количество прерываний внешних циклов. Вместо этого необходимо использовать собственные инструкции для каждого из n циклов по отдельности.

Вопросы и задания для самоконтроля

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

Ответ. Циклы в программировании используются для организации многократного исполнения набора инструкций. В языке Python циклы представлены конструкциями for/in и while: основным предназначением цикла for является обход элементов итерируемого объекта, а while представляет собой универсальный цикл общего назначения. Стоит заметить, что с помощью инструкции while можно сымитировать в том числе и счетный цикл for, однако программный код, как хорошо видно из наших примеров выше, получится менее компактным и может выполняться медленнее.

2. Допустимо ли в Python использование вложенных друг в друга циклов? Показать решение.

Ответ. В Python разрешается использовать как вложенные циклы, так и вложенные условные инструкции if.

3. Обязательно ли использование блока else в циклах? При каких условиях он выполняется? Показать решение.

Ответ. Блок инструкций оператора else в циклах не является обязательным, а его инструкции выполняются только после удачного завершения цикла (т.е. при отсутствии ошибки или прерывания за счет использования оператора break).

4. В чем заключается основное отличие инструкции break от инструкции continue? Показать решение.

Ответ. Инструкция break полностью прерывает объемлющий цикл и передает управление следующей за циклом инструкции, в то время как инструкция continue прерывает только текущую итерацию и производит переход в начало цикла, т. е. в строку его заголовка.

5. Выведите все элементы списка [10, 20, 30] на экран сперва при помощи цикла for, а затем и цикла while. Показать решение.

Решение Результат pythonCodes

# Сохраняем список в переменной.
li = [10, 20, 30]                   
 
# Организуем цикл по эл-там списка.
for elem in li:
    # Выводим значения на экран.
    print(elem, end=' ')              
# Сделаем отступ для цикла while.
print() 
              
# Инициализируем счетчик для цикла.  
k = 0
# Узнаем требуемое количество итераций.  
i = len(li)        
# Организуем цикл по эл-там списка.
while k < i:
    # Выводим значения на экран.
    print(li[k], end=' ')
    # Наращиваем значение счетчика.
    k += 1	
10 20 30 
10 20 30
			

6. Дополнительные упражнения и задачи по теме расположены в разделе «Циклы for и while» нашего сборника задач и упражнений по языку программирования Python.

Быстрый переход к другим страницам

  • Условная инструкция if/else в Python
  • Циклы for и while в Python
  • Итерации и генераторы в Python
  • Вернуться к оглавлению учебника

Python For Loops (учебник и примеры 2023 г.

)

учебник по python

Узнайте больше о Python, одном из самых универсальных и популярных языков программирования в мире.

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

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

Давайте посмотрим на небольшую блок-схему, которая объясняет, как работает цикл for:

Цикл for в Python имеет следующий синтаксис:

Пример кода

 для значения в списке:
  логика цикла для значения 

Давайте посмотрим, как использовать цикл for в приведенном ниже фрагменте кода:

Пример кода

 >>> приветствие = "привет"
>>> james_cameron_movies = ["Титаник", "Аватар", "Терминатор", "Чужие"]
>>> для персонажа в приветствии:
… печать (символ)
…
час
е
л
л
о
>>> для фильма в james_cameron_movies:
… печать (фильм)
…
Титаник
Аватар
Терминатор
Инопланетяне
 

Функция диапазона Python

Иногда при использовании цикла вы не обязательно проходите через предопределенный список или строку. Вместо этого вы можете захотеть перебрать заранее определенный диапазон значений или чисел. range()  функция очень удобна, когда вы хотите зациклиться на определенном диапазоне чисел. На основе параметров, переданных функции range() , она автоматически сгенерирует эти значения, которые затем можно будет использовать внутри цикла for.

range()  функция определяется следующим образом в двух различных вариантах:

Пример кода

 range(stop)
range(start, stop[ step]) 

где start определяет начальный номер, с которого должен начинаться диапазон. stop  определяет число, на котором должен остановиться диапазон. Диапазон остановится на значении, определяемом стоп минус 1. шаг определяет, как числа должны повышаться или увеличиваться в диапазоне.

Давайте посмотрим, как range()  функция может пригодиться в синтаксисе цикла for:

Пример кода

 # вывести нечетные и четные числа от 1 до 10
# диапазон начинается с 1,
# заканчивается в точке остановки 11 - 1, что равно 10
# шаг равен 1, что означает, что каждое значение временного диапазона будет увеличиваться на 1
>>> для числа в диапазоне (1, 11, 1):
… если число % 2 == 0:
… print('Число', число, 'четно')
… Элиф число% 2 != 0:
… print('Число', число, 'нечетно')
Число 1 нечетное
Число 2 четное
Число 3 нечетное
Число 4 четное
Число 5 нечетное
Число 6 четное
число 7 нечетное
Число 8 четное
Номер 9странно
Число 10 четное
# вывести все числа до 5. 
# когда указано только одно значение, это стоп-значение
>>> для числа в диапазоне (6):
… печать (число)
…
0
1
2
3
4
5
 

Python Enumerate Function

При использовании циклов разработчикам часто удобно помнить индекс или количество элементов, которые уже были пройдены. enumerate()  функция в Python позволяет выполнять цикл по итерируемому объекту, а также предоставляет индекс или количество каждого элемента, проходящего через цикл.

enumerate()  функция имеет следующий вид:

Пример кода

 enumerate(iterable, start=0) 

Давайте посмотрим на фрагмент кода ниже, чтобы понять, как использовать enumerate()  функция с циклом for:

Пример кода

 >>> приветствие = "привет"
>>> james_cameron_movies = ["Титаник", "Аватар", "Терминатор", "Чужие"]
>>> для индекса символ в перечислении (приветствие):
… печать(символ, ' находится по индексу ', индекс ' в строке ', приветствие)
…
h расположен по индексу 0 в строке hello
e расположен по индексу 1 в строке hello
l находится по индексу 2 в строке hello
l расположен по индексу 3 в строке hello
o находится по индексу 4 в строке hello
# цикл по списку, используя enumerate с начальной позицией 1
>>> для индекса, фильм в enumerate(james_cameron_movies, 1):
… print(movie, ' находится по индексу ', index, ' в списке ', james_cameron_movies)
Титаник находится под индексом 1 в списке ['Титаник', 'Аватар', 'Терминатор', 'Чужие']
Аватар находится под индексом 2 в списке ['Титаник', 'Аватар', 'Терминатор', 'Чужие']
Терминатор находится под индексом 3 в списке ['Титаник', 'Аватар', 'Терминатор', 'Чужие']
Чужие находятся под индексом 4 в списке ['Титаник', 'Аватар', 'Терминатор', 'Чужие']
 

Изучите Python сегодня

Получите практический опыт написания кода с помощью интерактивных руководств на нашей бесплатной онлайн-платформе обучения.

  • Бесплатно и весело
  • Разработано для начинающих
  • Не требует загрузки или установки

Начало работы

Python for Loops: Руководство для детей

9 0002 Когда мы пишем программы, мы реализуем алгоритмы для представления задач и решать проблемы. Алгоритмы обычно состоят из секвенирования, выбора и итерации. Последовательность — это порядок выполнения команд, а выбор определяет, какие задачи должны выполняться в зависимости от конкретных условий. Итерация позволяет нам повторять команды, а также полезна при работе со списками и строками. Один из способов повторения команд в Python — использование цикла for. Давайте посмотрим, как работает цикл for Python и как мы можем использовать его в наших программах.

Узнайте все о Python с помощью отмеченного наградами живого онлайн-курса под руководством эксперта, разработанного профессионалами из Google, Стэнфорда и Массачусетского технологического института.

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

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

Общий синтаксис цикла for:

Начнем с написания ключевого слова for, за которым следует имя переменной, которую мы хотим использовать для ссылки на каждый элемент, который мы просматриваем. Затем мы записываем ключевое слово, за которым следует имя списка или строки, которую мы хотим пройти. Оператор двоеточия ( : ) используется для указания блока кода с отступом.

Код, который мы хотим выполнить, находится под заголовком цикла for. Этот код выполняется один раз для каждого элемента в списке или строке, которую мы просматриваем.

Давайте используем цикл for для обхода списка имен. Мы можем печатать каждое имя по мере прохождения списка.

В этом цикле for мы печатаем каждое имя из списка имен. Когда мы запускаем наш код, мы видим каждое отображаемое имя.

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


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

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

Например, если мы хотим напечатать каждое имя, пока не дойдем до «Ava», мы можем использовать оператор break внутри оператора if, чтобы проверить, является ли имя «Ava», и разорвать цикл, если это правда. Мы прекращаем поиск в остальной части списка, когда находим «Аву».

Когда мы запускаем этот код, мы видим, что печатаются «Миа», «Лука» и «Ава». Остальные элементы в списке имен не печатаются.

Что, если мы поменяем порядок этих утверждений?

Если мы напечатаем после оператора if, то будут напечатаны только «Миа» и «Лука». Оператор break выходит из цикла до достижения функции печати.

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

«Изабелла» не печатается после «Джейден», поскольку оператор continue останавливает текущую итерацию цикла, пропуская функцию печати.

Цикл for можно использовать для повторения блока кода заданное количество раз с помощью функции range(). Функция range() по умолчанию возвращает последовательность чисел, начинающуюся с 0. По умолчанию он увеличивает значение на 1 и останавливается на указанном числе.

Обратите внимание, что функция range() повторяется до указанного числа, но не включает его.

Мы можем указать значение, с которого должна начинаться функция range(), добавив параметр. Первый параметр указывает значение, с которого нужно начать, а второй параметр указывает значение, на котором необходимо остановиться.

Наконец, мы также можем изменить степень увеличения значения, добавив третий параметр в функцию range(). По умолчанию он увеличивается на 1, но мы можем изменить его, чтобы увеличить на другую величину. Первый параметр указывает значение, с которого нужно начать, второй параметр указывает значение, на котором следует остановиться, а третий параметр указывает, на сколько увеличить.

Когда у нас есть несколько списков, которые мы хотим просмотреть одновременно, мы можем использовать вложенные циклы for. Вложенный цикл — это цикл внутри другого цикла. Внутренний цикл завершит все свои итерации, прежде чем перейти к следующей итерации внешнего цикла.

Использование циклов for в Python

Цикл for — это мощный инструмент для повторения блока кода и работы со списками и строками. Циклы составляют фундаментальный строительный блок для написания алгоритмов и упрощения нашего кода. Вы можете узнать больше о различных способах использования циклов for в нашем отмеченном наградами онлайн-курсе Python для искусственного интеллекта и лагерях Python, разработанных профессионалами из Google, Стэнфорда и Массачусетского технологического института! Присоединяйтесь к нашему бесплатному классу Python, чтобы начать работу с интерактивным руководством эксперта.

Оставить комментарий

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

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