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 '

 Дана операція, позначена символом “*” називається дублюванням тексту, вона примусить інтерпретатор вивести заданий текст вказану кількість разів.

Закріпимо на практиці?

 Зовсім трішки задач:)

  1. В інтерактивному режимі використайте Python для обчислення свого віку (роки) в секундах.
  2. В інтерактивному режимі використайте Python для обчислення свого віку (роки) в тисячоліттях.
  3. В інтерактивному режимі використайте Python для виведення на екран 100 речень "Програмувати - це круто!"
  4. Використовуючи встановлене IDLE (Python) напишіть програму, яка виведе відомості про вас у 3 стрічках (1. Прізвище, ім'я, по батькові; 2. Дата народження; 3. Моя улюблена справа)
  5. Використовуючивстановлене IDLE (Python) напишіть програму, яка виведе на екран 10 стрічок тексту: "Я люблю програмувати!". Кожна стрічка повинна виводитися з нового рядка.
  6. Використовуючи встановлене IDLE (Python) напишіть програму, яка виведе на екран варіант підписання Вашого зошита з інформатики (5 стрічок тексту)

Всі створені програми, збережіть та перевірте їх на працездатність!

Використана література:

  1. У. Сэнд, К. Сэнд "Hello World! Занимательное программирование."
  2.  Python для детей. Самоучитель по программированию / Джейсон Бриггс 
  3. Программирование для детей / К.Вордерман, Дж. Вудкок, Ш. Макаманус