# Основні поняття мови Python

## Алгоритми з повтореннями. Цикл for

Пригадаймо: повторення (цикл) – це алгоритмічна структура, за допомогою якої та сама послідовність дій виконується кілька разів.

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

Як працює цикл while.

Цикл While («Поки») буде повторюватися, поки виконується задана умова. Ця умова називається умовою циклу і повертає True або False.

Синтаксис оператора:

whіle <умова> :

<тіло циклу>

Тут <умова> – логічний вираз, що є умовою виконання циклу; <оператор> – простий або складений оператор, який виконується при кожній ітерації. Виконання оператора циклу while починається з обчислення значення логічного виразу – умови циклу (див. блок-схему). Якщо умова істинна, то виконуються оператори тіла циклу і керування повертається на перевірку умови. Якщо ж умова хибна, то виконується оператор, який є наступним після оператора while. Якщо при першій перевірці умова виявиться хибною, тіло циклу не виконається жодного разу.

Приклад. Для початкового значення х=7 цикл while x<10 виконається 3 рази:

x = 7

while x <10:

x = x + 1

print(x)

Результат: послідовно отримаємо числа 8, 9 та 10.

Пояснення: доки x < 10 (така задано в умові), змінна x збільшується на 1, і результат виводиться на екран. Після чергового «пробігу» циклу while змінна x дорівнює 10, що вже не відповідає умові, і цикл завершується.

Приклад. Напишемо програму, в якій користувач вводить з клавіатури математичний вираз і отримує відповідь. Для обробки математичного виразу і обчислення результату використовується функція eval (), яка обробляє рядок клавіатурних символів точно так же, як і оболонка Python IDLE. Таким чином, коли ми вводимо приклад в якості вхідних даних, функція eval () може дати нам відповідь на завдання.

Приклад. В циклі продовжується побудова відрізків і поворот Черепашки на 170°, поки Черепашка не повернеться в точку (0,0) (abs(pos()) < 1).

from turtle import *

color ('blue', 'yellow')

begin_fill()

forward(200)

while abs(pos())>1:

left(170)

forward(200)

end_fill()

up()

Нескінченний цикл

Приклад. Наведений фрагмент програми ілюструє нескінченний цикл.

num = 0

while num < 20:

print (num)

У тілі циклу значення num не змінюється, тому умова num<20 завжди правильна і поданий цикл є нескінченним. Якщо в якості умови циклу while задати True, умова ніколи не стане хибною і цикл не завершиться.

Приклад. Програма випробує витримку користувача – у нескінченному циклі пропонує користувачеві розв’язати задачу:

Можна зупинити виконання нескінченного циклу у вікні консолі IDLE. Для цього у вікні консолі натисніть сполучення клавіш Ctrl+C. Після цього IDLE буде відправлений запит на зупинку програми. Можливо, доведеться натиснути Ctrl+C декілька разів, щоб IDLE зреагувала на запит

Питання для самоперевірки:

1. Поясніть структуру і правила виконання циклу з умовою.

2. У чому відмінність у використанні циклу з параметром і циклу з умовою?

3. У якому випадку цикл Whіle не виконається жодного разу?

4. У якому випадку виникає «нескінченний цикл»?

5. Назвіть початкові значення змінних; умову продовження циклу; оператори тіла циклу.

6. Дано фрагмент програмного коду. Заповніть таблицю:

Пригадаймо, що ми вивчали про цикл for.

Оператор continue.

Оператор continue починає наступний "прохід" циклу, минаючи решту тіла циклу.

Оператор b reak.

Оператор break, на відміну від оператора continue достроково перериває виконання циклу.

Чарівне слово else.

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

Словничок по Python

Цикл – алгоритмічна структура, за допомогою якої та сама послідовність дій виконується кілька разів.

Існує два види циклів – for (з заздалегідь заданою умовою) та while (коли умова заздалегідь невідома). Залежно від поставленої умови, доцільно обирати той чи інший тип циклу. Крім того, while дозволяє реалізовувати безкінечні цикли, перервати які можна комбінацією клавіш Ctrl+C.

Тіло циклу – серія команд, що повторюється під час виконання циклу.

Ітерація – кожне виконання тіла циклу.

Список – це набір значень, розділених комами, взятий у квадратні дужки.