Python як калькулятор. Операції та оператори
В попередній статті ми працювали з Python в інтерактивному режимі. Ми ввели команду (директиву), і інтерпретатор Python її тут же виконав.
Виконати команду, директиву або програму означає те ж саме, що і «запустити» її.
Обчислення в Python
Давайте спробуємо виконати щось ще в режимі взаємодії.
>>> 2+3
5
Ура! Ми змогли змусити Python виконати приклад, якій самі вміємо виконувати ще з першого класу. А якщо потрібно зробити дещо складніше? Давайте спробуємо:
>>> 123654789+987456321
1111111110
>>> 1452369-5236785412
-5235333043
>>>
Якщо потрібно перемножити два числа, наприклад дізнатися, скільки буде 15 × 3,14, ми зазвичай користуємося калькулятором або беремо ручку і множимо в стовпчик на аркуші паперу. А що якщо використовувати для підрахунків оболонку Python?
>>> 15*3.14
47.1
Зверніть увагу, що під час запису числа 3,14 використовується не кома, а крапка. Крім того, в Python числа перемножуються за допомогою зірочки (*), а не знаку множення (×).
Для прикладу, спробуємо обчислити скільки секунд міститься в одному місяці. Для цього нам необхідно знайти кількість секунд в 1 годині, потім – в 1 добі, а лише потім – в 1 місяці. Тобто:
>>> 60*60
3600
>>> 3600*24
86400
>>> 86400*31
2678400
Або простіше:
>>> 60*60*24*31
2678400
Отже, Python вміє виконувати різні математичні операції. Причому, числа над якими виконується операція називаються операндами, а знаки, якими позначається дана операція – операторами.
Оператори в Python
В оболонці Python можна множити, додавати, віднімати і ділити числа, а також здійснювати деякі інші операції. Символи, за допомогою яких виконуються математичні дії в мові Python, називаються операторами. Основні математичні оператори перераховані в таблиці:
Назва операції |
Оператор |
Приклад застосування |
Додавання |
+ |
45+65 |
Віднімання |
- |
12-23 |
Множення |
* |
5*8 |
Ділення |
/ |
14/6 |
Піднесення до ступеня |
** |
2**6 |
Діле націло (неповна частка) |
// |
14//3 |
Остача від ділення |
% |
14%3 |
Порядок виконання операцій
Операції - це будь-які дії, які виконуються за допомогою операторів. Математичні операції виконуються по черзі в залежності від їх пріоритету (якщо не поставити іншу черговість за допомогою дужок). Множення і ділення мають більш високий пріоритет, ніж додавання і віднімання, і це значить, що вони будуть виконуватися першими. Інакше кажучи, при обчисленні математичного виразу Python спочатку перемножить і розділить числа, а потім перейде до додавання і віднімання. Наприклад, в цьому виразі спершу будуть перемножені числа 30 і 20, а потім до їх добутку буде додано число 5.
>>> 5+30*20
605
По суті цей вираз означає «помножити 30 на 20 і додати до результату 5». Виходить 605. Однак ми можемо змінити порядок операцій, помістивши перші два числа в дужки. Ось так:
>>> (5+30)*20
700
В результаті вийшло 700, а не 605, оскільки Python виконує операції в дужках перш, ніж операції поза дужками. Іншими словами, цей вислів означає «додати 5 до 30 і помножити результат на 20». Дужки можуть бути вкладеними, тобто всередині дужок можуть стояти ще одні дужки:
>>> ((5+30)*20)/10
70.0
У цьому прикладі Python спершу обчислить вираз у внутрішніх дужках, потім у зовнішніх і в самому кінці виконає операцію ділення, яка знаходиться за дужками. Інакше кажучи, цей вислів означає «додати 5 до 30, потім помножити результат на 20, потім розділити результат на 10». Ось що при цьому відбувається:
- додавання 5 і 30 дає 35;
- множення 35 на 20 дає 700;
- ділення 700 на 10 дає остаточний результат - 70.
Якби ми не використовували дужки, результат вийшов би іншим:
>>> 5+30*20/10
65.0
В цьому випадку спершу 30 множиться на 20 (виходить 600), потім 600 ділиться на 10 (виходить 60) і, нарешті, до 60 додається 5, що дає в результаті 65.
Запам'ятайте, що множення і ділення завжди виконуються перш, ніж додавання і віднімання, якщо не міняти порядок обчислень за допомогою дужок.
Операції з текстом
Крім арифметичних, Python непогано справляється і з текстовими операціями. Зокрема він уміє гарно «додавати» та «множити» текстові фрагменти.
Але потрібно пам’ятати – текст обов’язково повинен бути поміщеним у лапки (одинарні ‘’ або подвійні “”).
Для прикладу, спробуйте виконати наступні дії:
>>> "Мені "+"подобається "+"програмувати!"
'Мені подобається програмувати!'
Виявляється, «додавання» тексту є не що інше як його з’єднання. Ця операція має складну назву – «конкатенація» і з нею ми познайомимось дещо пізніше.
>>> 'Python '*20
'Python Python Python Python Python Python Python Python Python Python Python Python Python Python Python Python Python Python Python Python '
Дана операція, позначена символом “*” називається дублюванням тексту, вона примусить інтерпретатор вивести заданий текст вказану кількість разів.
Закріпимо на практиці?
Зовсім трішки задач:)
- В інтерактивному режимі використайте Python для обчислення свого віку (роки) в секундах.
- В інтерактивному режимі використайте Python для обчислення свого віку (роки) в тисячоліттях.
- В інтерактивному режимі використайте Python для виведення на екран 100 речень "Програмувати - це круто!"
- Використовуючи встановлене IDLE (Python) напишіть програму, яка виведе відомості про вас у 3 стрічках (1. Прізвище, ім'я, по батькові; 2. Дата народження; 3. Моя улюблена справа)
- Використовуючивстановлене IDLE (Python) напишіть програму, яка виведе на екран 10 стрічок тексту: "Я люблю програмувати!". Кожна стрічка повинна виводитися з нового рядка.
- Використовуючи встановлене IDLE (Python) напишіть програму, яка виведе на екран варіант підписання Вашого зошита з інформатики (5 стрічок тексту)
Всі створені програми, збережіть та перевірте їх на працездатність!
Використана література:
- У. Сэнд, К. Сэнд "Hello World! Занимательное программирование."
- Python для детей. Самоучитель по программированию / Джейсон Бриггс
- Программирование для детей / К.Вордерман, Дж. Вудкок, Ш. Макаманус