Посібник з Python

View on GitHub

Для розуміння цієї теми потрібно знати про:

Розгалуження

У програмах часто потрібно виконувати різні дії залежно від певної умови. Для цього в Python використовуються розгалуження — конструкції if, if - else та if - elif - else. Вони дозволяють перевіряти умови (наприклад, результати порівнянь) і обирати один з кількох шляхів виконання коду (гілок алгоритму).


Просте розгалуження if

Конструкція if дозволяє виконати блок коду (гілку алгоритму) тільки тоді, коли умова істинна. Якщо умова хибна, цей блок просто пропускається.

temperature = 25

if temperature > 20:
    print("На вулиці тепло")

Результат:

На вулиці тепло

Структура конструкції if складається з двох частин:

Важливо: всі рядки блоку повинні мати однаковий відступ. Коли відступ закінчується, закінчується і блок коду.

Блок-схема цієї програми:

flowchart TD
    Start([Початок]) --> A[temperature = 25]
    A --> B{temperature > 20?}
    B -- Так --> C[/"Друкувати:<br>На вулиці тепло"/]
    B -- Ні --> End([Кінець])
    C --> End

Якщо змінити temperature на значення, що не більше 20, повідомлення не буде надруковано, тому що блок if пропускається.

Розгалуження if - else

Конструкція if - else використовується, коли потрібно обрати між двома взаємовиключними варіантами: один блок коду виконується, якщо умова істинна, інший — якщо хибна.

age = 15

if age >= 18:
    print("Дорослий квиток")
else:
    print("Дитячий квиток")

Результат:

Дитячий квиток

Блок-схема цієї програми:

flowchart TD
    Start([Початок]) --> A[age = 15]
    A --> B{age >= 18?}
    B -- Так --> C[/"Друкувати:<br>Дорослий квиток"/]
    B -- Ні --> D[/"Друкувати:<br>Дитячий квиток"/]
    C --> End([Кінець])
    D --> End

У цьому прикладі спочатку перевіряється умова age >= 18. Якщо вона істинна (вік 18 або більше), виконується блок if і друкується “Дорослий квиток”. Якщо умова хибна (вік менше 18), виконується блок else і друкується “Дитячий квиток”.

Якщо змінити age на 20, умова age >= 18 стане істинною (20 більше 18), тому виконається блок if і буде надруковано “Дорослий квиток”. Блок else у цьому випадку пропуститься.

Розгалуження if - elif - else

Для вибору між трьома або більше варіантами використовується ланцюжок умов if - elif - else. Ключове слово elif (скорочено від else if) додає нову умову, яка перевіряється лише якщо всі попередні умови виявилися хибними. Виконується тільки перший блок, умова якого стала істинною. Після цього всі наступні elif та else вже не перевіряються.

score = 78  # тестовий бал від 0 до 100

if score >= 90:
    print("Оцінка: відмінно")
elif score >= 70:
    print("Оцінка: добре")
elif score >= 50:
    print("Оцінка: задовільно")
else:
    print("Оцінка: незадовільно")

Блок-схема цієї програми:

flowchart TD
    Start([Початок]) --> A[score = 78]
    A --> B{score >= 90?}
    B -- Так --> C[/"Друкувати:<br>Оцінка: відмінно"/]
    B -- Ні --> D{score >= 70?}
    D -- Так --> E[/"Друкувати:<br>Оцінка: добре"/]
    D -- Ні --> F{score >= 50?}
    F -- Так --> G[/"Друкувати:<br>Оцінка: задовільно"/]
    F -- Ні --> H[/"Друкувати:<br>Оцінка: незадовільно"/]
    C --> End([Кінець])
    E --> End
    G --> End
    H --> End

Результат:

Оцінка: добре