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 немає в списку

 


Зв’язані теми