Python. Оператор for. Примеры

Python. Оператор for. Примеры


Содержание



1. Назначение оператора цикла for. Какие формы имеет оператор цикла for?

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

В языке Python цикл for имеет следующие разновидности (формы):

  • полная форма – это форма, которая предусматривает наличие блока else. В этом случае в теле цикла обязательно должна использоваться инструкция break;
  • сокращенная форма – это форма, не предусматривающая наличие блока else.

 

2. Полная форма оператора for, предусматривающая использование инструкций break и continue

Полная форма оператора for, которая предусматривает использование инструкций break и continue имеет следующий вид:

for <variable> in <object>:
    <statements1>
    if <condition1>: break
    if <condition2>: continue
else:
    <statements2>

здесь

  • variable – переменная цикла, которая поочередно принимает значение элементов из объекта object;
  • object – некоторый список, кортеж, строка или другой объект, который содержит множество элементов для обхода;
  • statements1 – один или несколько операторов (инструкций), которые выполняются для заданного значения variable;
  • statements2 – один или несколько операторов (инструкций), которые выполняются в случае, если инструкция break не выполнилась ни разу в теле цикла for.

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

В цикле, поочередно один за другим, переменной цикла присваиваются элементы объекта последовательности. Для каждого из элементов последовательности выполняется тело цикла. Если, при прохождении последовательности, инструкция break не выполнилась ни разу, то происходит переход к блоку else.

 

3. Сокращенная форма оператора for (без использования блока else)

Оператор for может быть применен в сокращенной форме без использования блока else. В этом случае сокращенная форма оператора for имеет вид:

for <variable> in <object>:
    <statements>

здесь

  • variable – переменная цикла, которая поочередно принимает значение элементов из объекта object;
  • statements – один или несколько операторов (инструкций), которые выполняются для заданного значения variable.

 

4. Примеры использования оператора for, который не содержит блока else
4.1. Пример вычисления суммы элементов списка
# вычисление суммы элементов списка
# Заданный список
T = [2.8, 3.5, 4.9, 0.01, 2.34]

s=0
for t in T:
    s = s + t
print("s = ", s) # s = 13.549999999999999

В результате выполнения вышеприведенного кода будет отображен следующий результат

s = 13.549999999999999

 

4.2. Пример вычисления максимального значения в списке

Задан некоторый список вещественных чисел. Найти максимальное значение в списке

# поиск максимального значения в списке
# Заданный список
T = [1.8, 5.2, 10.9, 8.1, 2.4]
max = T[0] # первый элемент списка

for t in T:
    if max<t:
        max=t
print("max = ", max) # max =   10.9

В результате выполнения вышеприведенного кода будет получен следующий результат

max = 10.9

 

4.3. Пример вычисления суммы элементов кортежа, находящихся в пределах 5…10
# Сумма элементов кортежа, находящихся в пределах 5..10
# Заданный кортеж
C = (3, 5, 6, 4, 2, 8, 1, 9)

s = 0 # искомая сумма

# вычисление
for c in C:
    if (c>=5)and(c<=10):
        s=s+c
print("Сумма = ", s) # Сумма = 28

 

4.4. Пример поиска строки в списке строк

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

Решение этой задачи с использованием цикла for может быть, например, следующим:

# поиск строки в списке строк
# Заданный список
S = ['abc', 'def', 'hij', 'abc', 'fhg', 'jkl', 'jpr']

item = str(input("Введите элемент, который нужно найти: "))

P=[] # позиции вхождения элемента item в список S

# вычисление
i=0
for s in S:
    if s==item:
        P=P+[i]
    i=i+1

if len(P)>0:
    print("Позиции вхождения элемента ", item, " в список")
    print(P)
else:
    print("Элемента ", item, " нет в списке")

Результат выполнения вышеприведенного кода может быть, например, таким

Введите элемент, который нужно найти: abc
Позиции вхождения элемента abc в список
[0, 3]

 

5. Пример использования оператора for, содержащего блок else

В примере определяется принадлежность заданного элемента кортежа с отображением соответствующего сообщения.

# Определение принадлежности заданного элемента в кортеже
# Заданный кортеж
C = (3, 5, 6, 4, 2, 8, 1, 9)

# ввод элемента
item = int(input("Введите искомый элемент: "))

# вычисление
for c in C:
    if c==item:
        print("Элемент ", item, "есть в списке")
        break
else:
    print("Элемента ", item, " нет в списке")

Результат выполнения вышеприведенного кода следующий

Введите искомый элемент: 7
Элемента 7 нет в списке

 


Связанные темы