Цикли

При написанні програмного коду часто виникають ситуації, коли окремий фрагмент коду потрібно застосовувати велику кількість разів. Для того, щоб не писати один і той же код багато разів в програмі використовують цикли. В Python існує два основні цикли: for i while.

Цикл for (цикл з параметром)

Цикл for повторює вказані рядки коду. Використовується для перебору елементів послідовності, виконання блоку програмного коду для кожного з них. Працює визначену кількість разів. Якщо ми не знаємо, скільки разів має повторюватися цикл, то і цикл for в такому випадку застосувати не можемо.

В циклі вказується змінна і множина значень, по яких буде пробігати змінна. Множину значень може бути задано списком, кортежем, рядком або діапазоном.

for i in 1, 2, 3, 'one', 'two', 'three':

print(i)

Функція range

Як правило, цикли for використовуються для повторення якоїсь послідовності дій задану кількість разів, або для зміни значення змінної в циклі від деякого початкового значення до деякого кінцевого. Для повторення циклу деяку задану кількість разів n можна використовувати цикл for разом з функцією range.

Функція range використовується при роботі з рядками циклу for, а також для створення послідовностей чисел.

Діапазон range(початкове значення, кінцеве значення, [ крок]) задає послідовність цілих чисел (арифметичну прогресію), яку можна використати при описі циклу for. Також у циклі після слова for використовується змінна-лічилькик

for лічильник in послідовність:

вираз

Також слід пам'ятати, що якщо не задано перший елемент для лічильника, то лічилник буде починатися з 0. В кількість повторів останне число не включається.

Способи використання циклу for:

x=3

for i in range(x):

<вираз>

Приклад 1. Знайти суму чисел від 1 до 5

sum = 0

n = 5

for i in range(1, n + 1):

sum += i

print(sum)

for k in range(6):

<вираз>

Приклад 2. Вивести на екран числа від 0 до 5.

for i in range(6):

print(i)

for i in range(1,6):

<вираз>

Приклад 3. Вивести на екран числа від 1 до 5.

for i in range(6):

print(i)

for number in range(5,10,2) :

<вираз>

Приклад 4. Вивести на екран непарні числа від 5 до 10.

for i in range(5,10,2):

print(i)

В попередніх прикладах всі елементи циклу будуть виводитися в стовпчик по одному, тому що по замовчуванню в команді print міститься перенесення на новий рядок ( \n ). Якщо є потреба вивести елементи одним рядком, то у команді print дописують аргумент end=' ' (без пропуску) або end='<пропуск> ' якщо потрібно вивести елементи через пропуск, end=',<пропуск> '- елементи виводяться через кому з пропуском.

За допомогою аргументу end програміст може самостійно визначити закінчення print .

print(i, end=' ')

k = 0

while <умова>:

<команди циклу>

При виконанні циклу while спочатку перевіряється умова. Якщо вона хибна, то виконання циклу переривається.

Також перед циклом потрібно створити змінну, яка буде виконувати роль лічильника. Збільшення лічильника відбувається в циклі.

Цикл while

Цикл while — один із найпоширеніших в Python. Він дозволяє відтворювати елемент коду знову і знову, поки задана умова залишається вірною (true). Відрізняється від циклу for тим, що може повторювати код нескінченну кількість разів, поки не виконається умова. Цикл while може замінювати цикл for.

Приклад 5. Вивести на екран всі парні числа від 10 до 50 включно

n=10# перше число, лічильник

while n < 51:

print(n, end=' ')

n=n+2


Приклад 6. Вивести на екран перших сто непарних чисел.

k=0#кількість непарних

n=1# перше число

while k <= 100:

if n%2==1:

print(n, end=' ')

k=k+1

n=n+1

Часто буває потреба пропустити виконання циклу, або перервати його. Для цього використовують оператори continue та break.

continue- починає наступне проходження циклу, пропускаючи невиконані команди тіла циклу.

break- достроково перериває цикл

else-перевірка чи вихід з циклу відбувся.

Слово else, застосоване в циклі for або while, перевіряє, чи був проведений вихід із циклу інструкцією break, або "природним" чином. Блок інструкцій усередині else виконається лише в тому випадку, якщо вихід із циклу стався без допомоги break.

Приклад 7. З стрічки "абабагаламага" забрати всі букви "a". результат вивести на екран.

for i in 'абабагаламага':

if i == 'а':

continue

print(i, end=' ')

Приклад 8. З стрічки "абабагаламага" вивести всі символи до першої букви "г". результат вивести на екран.

for i in 'абабагаламага':

if i == 'г':

break

print(i , end='')

Приклад 9. Перевірити , чи є в стрічці "абабагаламага" буква "а"

for i in 'абабагаламага':

if i == 'а':

print('Буква a в стічці є')

break

else:

print('Букви a в стічці немає')


Вкладені цикли

Для скорочення довжини програмного коду використовують вкладені цикли. Якщо цикл існує всередині тіла іншого циклу, він називається вкладеним циклом. Це означає, що ми хочемо виконати внутрішній код циклу кілька разів. Зовнішня цикл контролює, скільки ітерацій(повторень) зазнає внутрішній цикл.