Лабораторне заняття 13. Базові операції Python та умовний оператор

Мета роботи: ознайомитися з можливостями мови Python по роботі зі змінними та базовими операціями та умовним оператором.

Теоретичні відомості

Python – інтерпретована об'єктно-орієнтована мова програмування високого рівня зі строгою динамічною типізацією.

Незважаючи на зручності інтерактивного режиму роботи при написанні програм на Python, зазвичай потрібно зберігати вихідний програмний код для подальшого використання. В такому випадку створюються файли, які пізніше передаються інтерпретатору на виконання. Такий вихідний код в інтерпретованих мовах програмування називають скриптом. Файли з кодом на Python зазвичай мають розширення py.

Підготувати скрипти можна в тому ж середовищі IDLE. Для цього, після запуску програми в меню слід вибрати команду File → New Window (Crtl + N), відкриється нове вікно. Потім бажано одразу ж зберегти файл (розширення py). Запустити скрипт можна виконавши команду меню Run → Run Module (F5). Після цього в першому вікні з'явиться результат виконання коду.

Завантажити середовище можна на офіційному сайті www.python.org.

 

Типи даних

Phyton відноситься до мов програмування з динамічною типізацією. Це означає, що змінні не мають наперед визначеного типу даних, а набувають його в момент присвоєння значення.

До основних типів даних мови Phyton відносять наступні: цілі числа (int) довільної довжини (4, 67, -145, 0); дійсні числа (float) з роздільником у вигляді точки (5.6, 3.87845, -12.0004334); текстові рядки (str) – набір символів, заключений в одинарні чи подвійні лапки ('Деякий текст', "ще деякий текст"); логічний тип (bool), який приймає всього два значення – True або False; комплексні числа (complex) – числа виду 4 + 2j, де j = √-1 .

 

Базові операції

Python підтримує всі основні математичні операції: додавання (+), віднімання (–), множення (*), ділення (/), цілочисельне ділення (//), остача від ділення (%), піднесення до степеню (**):

a = 5 + 2 # a = 7

a = 5 – 2 # a = 3

a = 5 * 2 # a = 10

a = 5 / 2 # a = 2.5

a = 5 // 2 # a = 2

a = 5 % 2 # a = 1

a = 5 ** 2 # a = 25

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

a += 2 # a = a + 2

a -= 2 # a = a - 2

a *= 2 # a = a * 2

a /= 2 # a = a / 2

a //= 2 # a = a // 2

a %= 2 # a = a % 2

a **= 2 # a = a ** 2

 

Перетворення типів даних

При виконанні операцій над змінними з різними типами даних їх переведення до одного типу даних відбувається автоматично, де це можливо (наприклад, при додаванні цілого та дійсного числа, ціле число буде переведено в дійсне). Однак, часто виникає необхідність зробити це явно, скориставшись для цього відповідними функціями int, float, str, bool, які перетворюють змінні з інших типів даних у цілочисельний, дійсний, текстовий чи логічний тип відповідно, якщо це можливо.


Змінні в мові Python

Імена змінних в Python можуть складатися з алфавітних символів, цифр та знаку підкреслення, з дотриманням певних правил:

  1. Бажано давати змінним імена, що говорять про призначення даних, на які вони посилаються.
  2. Ім'я змінної не повинно збігатися з командами мови (зарезервованими ключовими словами).
  3. Ім'я змінної має починатися з букви або символу підкреслення.

 

Математичні функції

Для роботи з математичними функціями необхідно підключити відповідну бібліотеку math:

from math import *

Після цього можна скористатися вже готовими функціями (перелік основних наведено в табл. 7.1).

 

Таблиця 7.1 – Перелік основних математичних функцій

Функція

Призначення

ceil(x), floor(x)

Повертає ціле округлене значення x округлене до більшого або меншого відповідно

round(x[,y])

Повертає округлене значення x до y знаків після коми (за замовчуванням до цілого). Округлення в більшу сторону починається з числа 6 *

abs(x)

Повертає абсолютне значення (модуль) числа x *

factorial(x)

Повертає факторіал цілого числа x

trunc(x)

Повертає цілу частину числа x

exp(x)

Повертає значення ex

log(x[, base])

При передачі функції одного аргументу x, повертає натуральний логарифм x. При передачі двох аргументів, другий береться як основа логарифма.

log10(x)

Повертає десятковий логарифм x

pow(x, y)

Повертає x в ступені y (тип вихідних даних – float)

sqrt(x)

Квадратний корінь з x

sin(x), cos(x), tan(x)

Повертає синус, косинус та тангенс відповідно. Значення x – в радіанах

degrees(x)

Конвертує значення кута x з радіан в градуси

radians(x)

Конвертує значення кута x з градусів в радіани

* – стандартна функція, бібліотеки math не потребує


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

Як і в інших мовах програмування, в Python в якості умовних операторів використовуються спеціальні знаки, подібні до тих, які використовуються в математичних виразах: > (більше), < (менше), >= (більше або дорівнює), <= (менше або дорівнює), а також знак рівності (==) та нерівності (!=).

На практиці доволі часто використовуються більш складні логічні вирази. Може знадобитися отримати відповіді "Так" або "Ні" в залежності від результату виконання двох простих виразів. Наприклад, "змінна new містить значення більше 12 і менше 20" і т.п.

У таких випадках використовуються спеціальні оператори, що об'єднують два і більше простих логічних вирази. Широко використовуються два способи об'єднання: через, так звані, логічні І (and) і АБО (or).

Щоб отримати істину (True) при використанні оператора and, необхідно, щоб результати обох простих виразів, які пов'язує цей оператор, були істинними. Якщо хоча б в одному випадку результатом буде False (неправда), то і весь складний вираз буде хибним.

Щоб отримати істину (True) при використанні оператора or, необхідно, щоб результати хоча б одного простого виразу, що входить до складу складного, був істинним. У разі використання оператора or складний вираз стає хибним лише тоді, коли хибні всі прості вирази, що входять до нього:

x > 3 and x < 10

x < 3 or x > 10

В деяких випадках, для and використовується спрощений формат запису:

3 < x < 10

Для реалізації розгалужень, як і в іншим мовах програмування, використовується умовний оператор if:

if умова:

    тіло

Приклад реалізації:

if a <100: # якщо значення змінної a менше 100

c = a ** b # піднести значення змінної a до степеню b

Перший рядок конструкції if – це заголовок, в якому перевіряється умова виконання рядків коду після двокрапки (тіла конструкції).

Однак, логіка програми зазвичай буває складнішою, ніж вибір одного з двох розгалужень. Наприклад, в залежності від значення тієї чи іншої змінної, може виконуватися одна з трьох (або більше) гілок програми.

Зазвичай таку задачу можна вирішити за допомогою вкладених конструкцій if-else. В мові Python, передбачено спеціальне розширення інструкції if, що дозволяє направити потік виконання програми по одному з розгалужень. Дана розширена інструкція, крім необов'язкової частини else, містить ряд рогалужень elif (скорочення від "else if" – "ще якщо"). Частин elif може бути як завгодно багато (в межах розумного, звичайно).

На відміну від використання кількох одиночних інструкцій if, інструкція if-elifelse припиняє перегляд наступних розгалужень, як тільки логічний вираз в поточному розгалуженні поверне значення true. Наприклад, якщо вираз при if (перше розгалуження) буде істинним, то після виконання вкладеного блоку виразів, програма повернеться до основного коду. Приклад використання:

if x > 0:

    print(1)

elif x < 0:

    print(-1)

else:

    print(0)


Остання зміна: Thursday 28 May 2020 23:35 PM