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

## Алгоритми з розгалуженнями

У попередніх уроках ми розглядали алгоритмічну конструкцію розгалуження. У цьому параграфі ви дізнаєтеся, як виконати на комп’ютері алгоритм з розгалуженням, тобто як запрограмувати комп'ютер на прийняття рішень в залежності від того, чи є певна умова істинною або хибною.

Логічні операції

Крім вже відомих нам числового і рядкового типів даних в Python є логічний тип bool. Цей тип отримав назву на честь англійського математика Джорджа Буля, який створив один розділів математики – математичну логіку. Змінна типу bool може приймати одно з двох значень – True (Істина) або False (Хибність).

Умови в програмі записуються у вигляді логічних виразів. Логічними є вирази, результатом яких є True або False. Простий логічний вираз (проста умова) утворюється за допомогою логічних операцій:

Бувають ситуації, коли одночасно треба перевірити виконання декількох умов.

Складена умова – кілька простих умов, з'єднаних логічними операціями and (логічне І, інакше – логічний добуток), or (логічне АБО, інакше – логічна сума), not (логічне заперечення).

Приклад 28.2. Приклади складених умов:

not а <=3 – рівнозначне виразу а > 3.

age >=10 and age <= 18 – істинне тоді і тільки тоді, коли значення age знаходиться в проміжку від 10 до 18. age < 10 or age > 18 – істинне для всіх значень age, які не належать проміжку від 10 до 18.

Приклад 28.3. Логічні операції працюють і у вікні консолі. Виконайте цей приклад, щоб ознайомитися з результатами обчислення логічних виразів:

Умовний оператор if...else

Алгоритмічній конструкції «повне розгалуження» відповідає умовний оператор if...else.

Синтаксис оператора: if <умова> : <оператор 1> else: <оператор 2>

Якщо результатом перевірки умови є значення True, то виконується блок дій <оператор 1>.

Якщо перевірка умови дала результат False, виконується блок дій <оператор 2>, який міститься після службового слова еlse.

Приклад 28.6. Якщо виконати цю програму, у вікні консолі отримаємо результат «Невірно».

a = 13

if a == 12:

print("Вірно")

else: # Інакше

print("Невірно")

Приклад 28.7. Якщо користувач вводить «у», друкується вітання «Happy В irthday!», інакше текст «Good luck!».

Результат виконання програми у вікні консолі:

Бачите відступи в коді? Код потрібно писати саме так (для відступів – чотири пробіли або клавіша TAB). Крім того, в кінці рядка коду логічного оператора має стояти двокрапка. Якщо далі натиснути Enter, середовище розробки Python саме виконає необхідний відступ. Для переходу на початок рядка скористайтеся клавішею ←BackSpace.

Приклад 28.8. Оператор if реалізує таку дію: якщо a>b, змінні міняються значеннями так, щоб виявилося a≤b

(При бажанні модифікуйте програму, щоб a та b можна було вводити з консолі).

Зверніть увагу: в прикладі 28.8 на відступи від лівого краю: команди, вкладені в гілки оператора if, були записані на одній вертикалі. Для реалізації таких відступів використовуємо чотири пробіли або клавішу TAB. Всі команди мають бути записані в один стовпчик з однаковою кількістю відступів! Наявність таких відступів – ключова особливість синтаксису Python. Не забувайте про це!

Отже, оператор if є важливим інструментом програмування, який стане вам в нагоді при створенні тестових та ігрових програм.

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

1. Як записується і виконується умовний оператор у неповній формі?

2. Як записується і виконується умовний оператор у повній формі?

3. Як виконуються логічні операції and, or, not?

Практичні вправи:

1. Яких значень набудуть змінні а і в після виконання умовних операторів, наведених у таблиці, для указаних початкових значень а і b?

Перевірте це у середовищі програмування Python. Спробуйте самі або за допомогою вчителя розібратися, що саме виконує алгоритм і яка його логіка.

2. Запишіть у вигляді простої умови:

а) х більше 10;

б) число х не більше числа у;

в) x – парне число.

3. Запишіть у вигляді складеної умови:

а) 2 < x < 10;

б) x не належить проміжку (2,10).

Найважливіше в цьому розділі:

1. Змінна логічного типу описується як bool;

2. Змінні логічного типу набувають двох значень – або True (Істина) або False (Хиба);

3. Для побудови логічних виразів використовують спеціальні символи чи їх комбінації: <, >, ==, <=, >=, !=;

4. Для побудови складених умов використовують кілька простих умов, з'єднаних логічними операціями and (логічне І, інакше – логічний добуток), or (логічне АБО, інакше – логічна сума), not (логічне заперечення).

5. Для реалізації алгоритму розгалуження використовують умовний оператор if...else;

6. В конструкції if...else важливо пам’ятати про відступи!