Ми послуговуємося циклами у програмуванні для повторення групи команд. Ми зазвичай називаємо повторення терміном ітерація.
Ми використовуємо цикл for
, якщо заздалегідь знаємо, скільки повторень матиме цикл. У інших випадках користуємося циклом while.
Простий цикл for
Основним застосуванням циклу for
є просто повторення набору команд. Використовуючи for i in range(10)
, ми повторюємо набір команд 10 разів. Команди, які потрібно повторити, мають містити відступ. Ось як ми пишемо Привіт
десять разів:
for i in range(10):
print("Привіт")
Керуюча змінна
Під час циклу значення керуючої змінної (у наведеному вище прикладі це i
) змінюється. Тож у кожній ітерації циклу ми можемо робити щось дещо інше залежно від поточного значення цієї змінної. Яких значень набуває керуюча змінна, визначається частиною після in
. Якщо ми використовуємо базовий range
, керуюча змінна буде поступово збільшуватися на одиницю. Наприклад, цей цикл друкує числа від 0 до 9:
for i in range(10):
print(i)
У межах циклу ми можемо використовувати декілька змінних, але лише для керуючої змінної значення змінюється автоматично. Розглянемо цей приклад:
y = 1
z = 2
for x in range(10):
y = x + y + z
print(x, y, z)
Керуючою змінною циклу є x
, значення якої змінюватиметься поступово (від 0 до 9). Для змінної y
значення зміниться, оскільки в циклі ми маємо оператор присвоєння y
. Значення змінної z
залишатиметься незмінним у всіх ітераціях, оскільки z
не є керуючою змінною, і ми нічого не призначаємо їй у циклі.
Використання range
У базовому використанні ми поєднуємо цикл for із функцією range
, яка повертає інтервал чисел, а керуюча змінна згодом отримує значення з цього інтервалу.
Увага: в інформатиці ми часто рахуємо від нуля (а не від одиниці, як звичайні люди). Ми також зустрічаємося з цим і тут: range(n)
повертає значення від 0
до n-1
.
Якщо ми введемо два параметри у функцію range
, тобто викличемо range(a, b)
, це дасть нам інтервал чисел від a
до b-1
. Ми також можемо ввести третій параметр, який визначає довжину стрибка. Приклади:
for x in range(5, 13): print(x, end=" ") # 5 6 7 8 9 10 11 12
for x in range(5, 16, 3): print(x, end=" ") # 5 8 11 14
for x in range(8, 0, -1): print(x, end=" ") # 8 7 6 5 4 3 2 1
Цикл for можна використовувати не лише разом із range
, а й у більш загальному вигляді. Наприклад, ми можемо послуговуватися списками:
for x in [3, 7, 10]:
print(x)
Приклади використання циклу for
Перелік інформації про парність і непарність перших n
чисел:
n = 20
for i in range(1, n+1):
if i % 2 == 0:
print(i, "парне")
else:
print(i, "непарне")
Обчислення суми чисел від 1
до n
:
n = 10
s = 0
for i in range(1, n+1):
s = s + i
print("Сума чисел від 1 до", n, "є", s)
Перелік інформації про перші n
ступенів двійки:
n = 10
for x in range(1, n+1):
print("Два в степені", x, "це", 2**x)