Python: Урок 12. Цикл for

У сьомому уроці було розглянуто цикл while. Однак це не єдиний спосіб організації у мові Python повторення групи виразів. У програмах, написаних на Python, широко застосовується цикл for, який являє собою цикл обходу заданої множини елементів (символів рядка, об'єктів списку або словника) та виконання в своєму тілі різних операцій над ними. Наприклад, якщо є список чисел, і необхідно збільшити значення кожного елемента на дві одиниці, то можна перебрати список за допомогою циклу for, виконавши над кожним його елементом відповідну дію.
>>> spysok = [0,10,20,30,40,50,60,70,80,90]
>>> i = 0
>>> for element in spysok:
     spysok[i] = element+2
     i = i + 1
>>> spysok
    [2, 12, 22, 32, 42, 52, 62, 72, 82, 92]
У прикладі змінна i потрібна для того, щоб записати змінене значення елемента в список. У ній зберігається значення індексу чергового елемента списку. У той час, як змінна element пов'язується зі значенням чергового елемента даних. У заголовку циклу for відбувається звернення до чергового елементу списку. У тілі циклу елементу з індексом i присвоюється сума значення поточного (оброблюваного) елемента і двійки. Далі індекс збільшується на одиницю, а потік виконання програми переходить знову в заголовок циклу for, де відбувається звернення до іншого елементу списку. Коли всі елементи оброблені цикл for припиняє свою роботу. Відсутність чергового елемента є умовою завершення роботи циклу for (для порівняння: в циклі while умовою завершення служить результат False логічного виразу в заголовку).

З таким само успіхом перебирати можна й рядки, якщо не намагатися їх при цьому змінювати:
>>> radok = "привіт"
>>> for bukva in radok:
      print (bukva, end = '*')
    п * р * и * в * і * т *
Примітка: у вищевказаному прикладі функція print() має також аргумент end — він вказує, яким символом має закінчуватись поточне виведення на екран. Якщо в функції print() не вказаний даний аргумент то виведення закінчується символом переходу на нову стрічку (\n). Спробуйте змінити вищевказаний приклад, написавши, наприклад, print(bukva, '*'), або print(bukva+' *') і ви побачите, як зміниться результат.

Цикл for використовується і для роботи зі словниками:
>>> d = {1:'one',2:'two',3:'three',4:'four'}
>>> for key in d:
    d[key] = d[key] + '!'
>>> d
    {1: 'one!', 2: 'two!', 3: 'three!', 4: 'four!'}
Цикл for широко використовується в мові програмування Python, тому що є важливим інструментом при обробці структур даних. Також слід запам'ятати, що цикл for в Python особливий. Він не є аналогом циклів for в багатьох інших мовах програмування, де представляє собою, так званий, цикл з лічильником.

Практична робота

Створіть список, що складається з чотирьох рядків. Потім, за допомогою циклу for, виведіть рядки по черзі на екран.
Змініть попередню програму так, щоб в кінці кожної букви рядка додавалося тире. (Підказка: цикл for може бути вкладений в інший цикл.)
Створіть список, що містить елементи цілочисельного типу, потім за допомогою циклу перебору змініть тип даних елементів на числа з плаваючою крапкою. (Підказка: використовуйте вбудовану функцію float ().)

Приклад виконання практичної роботи
>>> # Завдання 1
>>> list1 = ['hi','hello','good morning','how do you do']
>>> for i in list1:
      print(i)
    hi
    hello
    good morning
    how do you do
>>> # Завдання 2
>>> for i in list1:
      for j in i:
        print(j, end='.')
        print()
    h.i.
    h.e.l.l.o.
    g.o.o.d. .m.o.r.n.i.n.g.
    h.o.w. .d.o. .y.o.u. .d.o.
>>> # Завдання 3
>>> list2 = [56,78,45,23]
>>> i = 0
>>> for a in list2:
      list2[i] = float(a)
      i = i + 1
>>> list2
    [56.0, 78.0, 45.0, 23.0]

Зміст курсу

Вступ
Урок 1. Історія мов програмування. Компіляція та інтерпретація
Урок 2. Знайомство з Python і середовищами програмування
Урок 3. Типи даних в програмуванні. Визначення змінної
Урок 4. Логічні вирази
Урок 5. Умовний оператор. Інструкція if
Урок 6. Множинне розгалуження
Урок 7. Цикл while
Урок 8. Введення даних з клавіатури
Урок 9. Рядки як послідовності символів
Урок 10. Списки - змінювані послідовності
Урок 11. Cловники
Урок 12. Цикл for
Урок 13. Функції
Урок 14. Параметри і аргументи функцій. Локальні та глобальні змінні
Урок 15. Перевірочна робота з основ програмування на Python

Коментарі

Популярні дописи з цього блогу

Азбука Морзе Українською

Python: Урок 3. Типи даних в програмуванні. Визначення змінної

Python: Урок 4. Логічні вирази