Поиск по сайту:

Python для цикла [с простыми примерами]


Цикл for в Python — это повторяющаяся функция. Если у вас есть объект последовательности, такой как список, вы можете использовать цикл for для перебора элементов, содержащихся в списке.

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

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

Базовый синтаксис цикла Python for

Базовый синтаксис цикла for в Python выглядит примерно так, как описано ниже.

for itarator_variable in sequence_name:
	Statements
	. . .
	Statements

Позвольте мне лучше объяснить синтаксис цикла for Python.

  • Первое слово оператора начинается с ключевого слова \for, обозначающего начало цикла for.
  • Затем у нас есть переменная итератора, которая перебирает последовательность и может использоваться в цикле для выполнения различных функций
  • Следующим является ключевое слово \in в Python, которое указывает переменной итератора выполнять цикл для элементов в последовательности
  • И, наконец, у нас есть переменная последовательности, которая может быть списком, кортежем или любым другим видом итератора.
  • Часть операторов цикла — это место, где вы можете поиграть с переменной итератора и выполнить различные функции.

1. Выведите отдельные буквы строки, используя цикл for

Строка Python представляет собой последовательность символов. Если в каком-либо из ваших программных приложений вам нужно просмотреть символы строки по отдельности, вы можете использовать здесь цикл for.

Вот как это сработает для вас.

word="anaconda"
for letter in word:
	print (letter)

Выход:

a
n
a
c
o
n
d
a

Причина, по которой этот цикл работает, заключается в том, что Python рассматривает «строку» как последовательность символов, а не рассматривает строку как единое целое.

2. Использование цикла for для перебора списка или кортежа Python

Списки и кортежи — это итерируемые объекты. Давайте теперь посмотрим, как мы можем перебирать элементы внутри этих объектов.

words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
	print (word)

Выход:

Apple
Banana
Car
Dolphin

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

nums = (1, 2, 3, 4)

sum_nums = 0

for num in nums:
    sum_nums = sum_nums + num

print(f'Sum of numbers is {sum_nums}')

# Output
# Sum of numbers is 10

3. Вложение Python для циклов

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

Рассмотрим пример списка выше. Цикл for выводит отдельные слова из списка. Но что, если вместо этого мы хотим распечатать отдельные символы каждого из слов в списке?

Здесь вложенный цикл for работает лучше. Первый цикл (родительский цикл) будет проходить по словам одно за другим. Второй цикл (дочерний цикл) будет перебирать символы каждого из слов.

words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
        #This loop is fetching word from the list
        print ("The following lines will print each letters of "+word)
        for letter in word:
                #This loop is fetching letter for the word
                print (letter)
        print("") #This print is used to print a blank line

Выход

4. Цикл Python for с функцией range()

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

for x in range(3):
    print("Printing:", x)
	
# Output

# Printing: 0
# Printing: 1
# Printing: 2

Функция диапазона также принимает еще один параметр, кроме начала и конца. Это параметр шага. Он сообщает функции диапазона, сколько чисел нужно пропустить между каждым подсчетом.

В приведенном ниже примере я использовал число 3 в качестве шага, и вы можете видеть, что выходные числа — это предыдущее число + 3.

for n in range(1, 10, 3):
    print("Printing with step:", n)
	
# Output

# Printing with step: 1
# Printing with step: 4
# Printing with step: 7

5. Оператор break с циклом for

Оператор break используется для преждевременного выхода из цикла for. Он используется для разрыва цикла for при выполнении определенного условия.

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

В этом случае мы будем использовать условие Python if else вместе с нашим циклом for.

nums = [1, 2, 3, 4, 5, 6]

n = 2

found = False
for num in nums:
    if n == num:
        found = True
        break

print(f'List contains {n}: {found}')

# Output
# List contains 2: True

6. Оператор continue с циклом for

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

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

nums = [1, 2, -3, 4, -5, 6]

sum_positives = 0

for num in nums:
    if num < 0:
        continue
    sum_positives += num

print(f'Sum of Positive Numbers: {sum_positives}')

6. Цикл Python for с блоком else

Мы можем использовать блок else с циклом for в Python. Блок else выполняется только тогда, когда цикл for не завершается оператором break.

Допустим, у нас есть функция для вывода суммы чисел тогда и только тогда, когда все числа четные.

Мы можем использовать оператор break для завершения цикла for, если присутствует нечетное число. Мы можем напечатать сумму в части else, чтобы она выводилась только при нормальном выполнении цикла for.

def print_sum_even_nums(even_nums):
    total = 0

    for x in even_nums:
        if x % 2 != 0:
            break

        total += x
    else:
        print("For loop executed normally")
        print(f'Sum of numbers {total}')


# this will print the sum
print_sum_even_nums([2, 4, 6, 8])

# this won't print the sum because of an odd number in the sequence
print_sum_even_nums([2, 4, 5, 8])

# Output

# For loop executed normally
# Sum of numbers 20

Заключение

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

Надеюсь, вы почерпнули интересные идеи из урока выше. Если у вас есть какие-либо вопросы, сообщите нам об этом в комментариях ниже.