Цикли — це інструкції, що виконують одну і ту ж саму послідовність дій, поки діє задана умова.
У реальному житті ми досить часто стикаємося з циклами. Наприклад, ходьба людини — цілком циклічне явище: крок лівою, крок правою, знову лівою-правою і т.д., поки не буде досягнута певна мета (наприклад, зупинка чи магазин). У комп'ютерних програмах поряд з інструкціями розгалуження (тобто вибором шляху дії) також існують інструкції циклів (повторення дії). Якби інструкцій циклу не існувало, довелося б багато разів вставляти в програму один і той же код підряд стільки разів, скільки потрібно виконати однакову послідовність дій.
Послідовніть дій, яка виконується циклічно, називається "проходом циклу" або "ітерація циклу".
while
Універсальним організатором циклу в Python є конструкція while. Слово "while" з англійської мови перекладається як "доки". А увесь цикл можна пояснити словами:
доки логічний вираз має значення True, доти будуть виконуватись певні операції
Заголовок конструкції виглядає так:
while condition:
'condition' — це логічний вираз. За заголовком конструкції while йде її тіло, тобто блок коду, який буде виконуватись циклічно.
Розглянемо приклад.
Припустимо у нас є список цілих чисел, і ми хочемо кожне число з цього списку зробити вдвічі більшим.
Логічно перебрати усі елементи списку по одному, помножити кожен на 2 а результат знову помістити у список на те ж саме місце.
До елементу списка ми можемо отримати доступ за до його індекса.
Індекси списку можуть приймати значення від 0 до його довжини.
l = [1,2,3,4,5,6,7] # список чисел
index = 0 # починаємо з індекса 0
while index <= len(l) - 1: # доки індекс не перевищує довжину списка мінус 1
l[index] = 2 * l[index] # множимо елемент з індексом index на 2
index = index + 1 # переходимо до наступного елементу
print(l) # ну і подивимось що у нас вийшло
for¶
Перебір послідовностей по елементах — доволі розповсюджена задача у програмуванні. І в Python для зручного перебору послідовностей існує ще один вид циклів: for.
Заголовок інструкції 'for' виглядає так:
for var in sequence:
'sequence' — це та послідовніть, яку треба перебрати по елементах.
Після слова 'for' зразу вказується змінна. У цю змінну при кожній ітерації (кожному проході циклу) буде попадати черговий елемент з послідовності 'sequence'.
За заголовком інструкції for йде її тіло — блок коду який буде виконуватись при кожній ітерації.
Розглянемо простий приклад: треба вивести усі елементи певної послідовності. У заданій послідовності ми переберемо усі елементи, один за одним, і виведемо його значення:
>>> l = [1,2,3,4,5]
>>> for i in l: # при кожній ітерації в 'i' буде черговий елемент списку 'l'
... print(i)
...
1
2
3
4
5
>>> for i in 'abcd':
... print(i)
...
a
b
c
d
>>>
Розглянемо ще приклад.
Є список цілих чисел. Треба отримати новий список у який буде входити кожен другий елемент з першого списку помножений на 2.
l = [1,2,3,4,5,6,7] # початковий список чисел
res = [] # результуючий список, поки що у ньому нічого немає
for number in l[1::2]: # зразу беремо тільки кожен другий елемент початкового списку
res.append( 2*number ) # додаємо до результуючого списку число з початкового помножене на 2
Цикли — це інструкції, що виконують одну і ту ж саму послідовність дій, поки діє задана умова.
У реальному житті ми досить часто стикаємося з циклами. Наприклад, ходьба людини — цілком циклічне явище: крок лівою, крок правою, знову лівою-правою і т.д., поки не буде досягнута певна мета (наприклад, зупинка чи магазин). У комп'ютерних програмах поряд з інструкціями розгалуження (тобто вибором шляху дії) також існують інструкції циклів (повторення дії). Якби інструкцій циклу не існувало, довелося б багато разів вставляти в програму один і той же код підряд стільки разів, скільки потрібно виконати однакову послідовність дій.
Послідовніть дій, яка виконується циклічно, називається "проходом циклу" або "ітерація циклу".
while
Універсальним організатором циклу в Python є конструкція while. Слово "while" з англійської мови перекладається як "доки". А увесь цикл можна пояснити словами:
доки логічний вираз має значення True, доти будуть виконуватись певні операції
Заголовок конструкції виглядає так:
while condition:
'condition' — це логічний вираз. За заголовком конструкції while йде її тіло, тобто блок коду, який буде виконуватись циклічно.
Розглянемо приклад.
Припустимо у нас є список цілих чисел, і ми хочемо кожне число з цього списку зробити вдвічі більшим.
Логічно перебрати усі елементи списку по одному, помножити кожен на 2 а результат знову помістити у список на те ж саме місце.
До елементу списка ми можемо отримати доступ за до його індекса.
Індекси списку можуть приймати значення від 0 до його довжини.
l = [1,2,3,4,5,6,7] # список чисел
index = 0 # починаємо з індекса 0
while index <= len(l) - 1: # доки індекс не перевищує довжину списка мінус 1
l[index] = 2 * l[index] # множимо елемент з індексом index на 2
index = index + 1 # переходимо до наступного елементу
print(l) # ну і подивимось що у нас вийшло
for¶
Перебір послідовностей по елементах — доволі розповсюджена задача у програмуванні. І в Python для зручного перебору послідовностей існує ще один вид циклів: for.
Заголовок інструкції 'for' виглядає так:
for var in sequence:
'sequence' — це та послідовніть, яку треба перебрати по елементах.
Після слова 'for' зразу вказується змінна. У цю змінну при кожній ітерації (кожному проході циклу) буде попадати черговий елемент з послідовності 'sequence'.
За заголовком інструкції for йде її тіло — блок коду який буде виконуватись при кожній ітерації.
Розглянемо простий приклад: треба вивести усі елементи певної послідовності. У заданій послідовності ми переберемо усі елементи, один за одним, і виведемо його значення:
>>> l = [1,2,3,4,5]
>>> for i in l: # при кожній ітерації в 'i' буде черговий елемент списку 'l'
... print(i)
...
1
2
3
4
5
>>> for i in 'abcd':
... print(i)
...
a
b
c
d
>>>
Розглянемо ще приклад.
Є список цілих чисел. Треба отримати новий список у який буде входити кожен другий елемент з першого списку помножений на 2.
l = [1,2,3,4,5,6,7] # початковий список чисел
res = [] # результуючий список, поки що у ньому нічого немає
for number in l[1::2]: # зразу беремо тільки кожен другий елемент початкового списку
res.append( 2*number ) # додаємо до результуючого списку число з початкового помножене на 2
print(res) # ну і подивимось що у нас вийшло