Python як калькулятор

Основи роботи в Shell. Арифметичні оператори. Найпростіші математичні обчислення за допомогою Python

Одразу ж після запуску Python Shell у ньому вже можна виконувати деякі дії. Наприклад, можна використовувати його як звичайний калькулятор. В рядку, позначеному трьома скобками >>> уводимо математичний вираз, натискаємо Enter і в наступному рядку отримуємо відповідь:

Як бачимо, Python чудово знає математику, знає порядок дій і виконує спочатку множення 2*2, а вже потім додавання.

В програмах-оболонках усе робиться аналогічно, тільки не забудьте, що Shell там знаходиться унизу:

Якщо ви працюєте в Pydroid, то спочатку перемкніться на Interpreter:

Для того, щоб мати можливість виконувати обчислення потрібно знати спеціальні математичні оператори і правила запису виразів.

Математичні оператори

+
-
*
/
**
//
%

додавання
віднімання
множення
ділення
піднесення до степеня
ціла частина від ділення
остача від ділення

+=
-=
*=
/=

"збільшити на..."
"зменшити на..."
"збільшити в..."
"зменшити в..."

Ось результати виконання дій за допомогою перших семи з цих операторів:

Оператори +=, -=, *=, /= працюють лише тоді, коли числа задані у вигляді змінних. До них повернемось пізніше.

Запис виразів

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

Математичний вираз
Вираз, який потрібно увести в Python

(23.5+(-6.2)**3)/(34+7.2**2)

Зверніть увагу на:

  1. ОБОВ'ЯЗКОВІСТЬ узяття в дужки окремо чисельника і знаменника дробу (інакше змінюватиметься порядок дій).

  2. Те, що у Python замість розділового знаку між цілою і дробовою частинами використовується не звична нам, європейцям, з уроків математики кома, а американська крапка, тобто, слід писати не 23,5, а 23.5 (через крапку!).

Цікава особливість

Як бачимо, записане через кому число 23,5 не сприймається як одне ціле. Замість 23,5+6 Python "бачить" тут окремо 23 і окремо 5+6, а, отже, й обчислення виконує окремо. Якщо ж замість коми поставити крапку, то тоді усі непорозуміння зникають і отримуємо 23.5+6=29.5.

Потренуйтеся записувати вирази за правилами Python. Спочатку запишіть наведені нижче вирази самостійно, а потім розкрийте спойлер і перевірте свої відповіді:

Відповіді

  1. 72-(15*(-5)+23)/7

  2. -55+12**3+(-4)**5/22

  3. ((-4.17)**3*(-12.1)+5.76)/(-12.33-4.24**3*(-32.55)+1.1)

Досить часто зустрічаються вирази, в яких числа позначені змінними і в залежності від значення цієї змінної потрібно обчислювати результат. Щоб обчислити значення виразу a+b*c потрібно задати значення змінних a, b і c. В Python це робиться так:

Спочатку ми надаємо змінним відповідні значення. Символ = якраз і означає: "змінній a надати значення 5" і т.д. Після того, як ми "повідомили", які значення мають які змінні, можна записувати вираз, задані значення в який будуть підставлені автоматично, виконані обчислення й виведена відповідь. Якщо тепер увести іншу формулу з тими самими змінними, то їх же буде підставлено в уже новий вираз і виведено нову відповідь:

У Python іменем змінної може бути будь-яка послідовність літер англійського алфавіту, яка не містить пробілів і не починається з цифри. В принципі, можна іменем змінної зробити й набір літер кирилиці але краще цього не робити, щоб не було помилок при декодуванні.

Змінною може бути і одна літера, і ціле слово, і словосполучення. Наприклад, правильними для позначення площі трикутника будуть і s, і area, і ploshcha, і ploshcha_trykytnyka. Зрозуміло, що придумуючи назви для своїх змінних, слід подбати про розумний баланс між інформативністю назви і її довжиною. З цієї точки зору, варіант ploshcha_trykutnyka поганий, оскільки занадто довгий. В той же час, варіант s є цілком прийнятним, оскільки в математиці саме цією літерою ми й позначаємо площу. Однак, пам'ятайте, що Python РОЗРІЗНЯЄ велику й малу літери, тому для нього s і S - це РІЗНІ змінні!

Взагалі кажучи, для створення імен змінних, які складаються з кількох слів, є декілька способів. Згідно з Угодою про найменування (Naming convention) імена змінних можуть бути створені, наприклад, такими способами:

  • flatcase (усі складові імені змінної пишуться разом, усі літери маленькі) - trianglearea;

  • UPPERFLATCASE (усі складові імені змінної пишуться разом, усі літери великі) - TRIANGLEAREA;

  • PascalCase (усі складові імені змінної пишуться разом, кожне з великої літери) - TriangleArea;

  • camelCase (усі складові імені змінної пишуться разом, перше з малої літери, кожне наступне - з великої) - triangleArea;

  • snake_case (усі складові пишуться через символ _, кожне слово з маленької літери) - triangle_area;

  • MACRO_CASE (усі складові пишуться через символ _, усі літери усіх слів - великими) - TRIANGLE_AREA;

  • dash-case (усі складові пишуться через дефіс, кожне слово з маленької літери) - triangle-area;

  • TRAIN-CASE (усі складові пишуться через дефіс, кожне слово з великої літери) - TRIANGLE-AREA.

От у тому випадку, коли деякі значення задані змінними, можна використовувати ще й оператори типу +=, -=, *= і /=. Ось як це працює:

На початку змінна a дорівнює 5. Після команди a += 2 вона збільшується на 2. Якщо після цього запросити виведення значення змінної a, то буде виведено вже не 5, а 7, адже 5+2=7. Аналогічно, після команди b *= c змінна b буде збільшена в c разів, а запит на виведення значення змінної b видає уже не 6, а 42, бо 6*7=42.

ДОМАШНЄ ЗАВДАННЯ

В середовищі Python Shell обчислити значення нижченаведених виразів при відповідних значеннях змінних. Оскільки виконане в Python Shell неможливо зберегти у вигляді файлу, то на перевірку надішліть скріншот виконаного завдання з отриманими результатами.