Презентація "Округлення чисел в Python"

Про матеріал
При виконанні різних арифметичних операцій важливо, щоб результат округлявся правильно. Часто потрібно округляти в більшу, меншу сторону, до найближчого цілого або округлити до сотих. Для цього програміст може використовувати різні інструменти, такі як вбудована функція round (), перетворення до типу int і функції з модуля math. Для округлення чисел придумано багато способів, вони не позбавлені недоліків, проте часто використовуються для вирішення завдань. Розберемося в тонкощах кожного з них.
Зміст слайдів
Номер слайду 1

Округлення чисел в Python. Навчання заради успіху. Вчитель інформатики В. Д. Партіка Мова програмування PYTHON

Номер слайду 2

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

Номер слайду 3

Способи округлення чиселmath.ceil() — округление чисел в большую сторонуimport matha = math.ceil(5.15)print(a)6 Функція отримала своє ім'я від терміна «ceiling», який використовується в математиці для опису числа, яке більше або дорівнює заданому. Будь-яка дріб знаходиться в целочисленном інтервалі, наприклад, 1.2 лежить між 1 і 2. Функція ceil () визначає, яка з меж інтервалу найбільша і записує її в результат округлення.import matha = math.ceil(6.666)print(a)7import matha = math.ceil(5)print(a)5 Важливо пам'ятати, що функція визначає найбільше число з урахуванням знака.

Номер слайду 4

Способи округлення чиселmath.floor () - округлення чисел в меншу сторону. Функція округлює дробове число до найближчого цілого, яке менше або дорівнює початковому. Працює аналогічно функції ceil (), але з округленням в протилежну сторону.import matha = math.floor(7.9) print(a)7import matha = math.floor(9.999) print(a)9import matha = math.floor(-6.1)print(a)-7

Номер слайду 5

Способи округлення чиселmath.trunc () - відкидання дробової частини. Возвращает целое число, не учитывая его дробную часть. То есть никакого округления не происходит, Python просто забывает о дробной части, приводя число к целочисленному виду.import matha = math.trunc(5.51) print(a)5import matha = math.trunc(-6.99) print(a)-6 Позбутися від дробової частини можна за допомогою звичайного перетворення числа до типу int. Такий спосіб повністю еквівалентний використанню trunc ().a = int(5.51) print(a)5a = int(-6.99) print(a)-6

Номер слайду 6

Способи округлення чисел. Нормальне округлення. Python дозволяє реалізувати нормальний арифметичне округлення, використавши функцію перетворення до типу int. І хоча int () працює за іншим алгоритмом, результат її використання для позитивних чисел повністю аналогічний висновку функції floor (), яка округлює числа «вниз». Для негативних аналогічний функції ceil ().import matha = math.floor(9.999) print(a)9a = int(9.999)print(a)9import matha = math.ceil(-9.999) print(a)-9a = int(-9.999)print(a)-9

Номер слайду 7

Щоб за допомогою функції int () округлити число за математичними правилами, необхідно додати до нього 0.5, якщо воно позитивне, і -0.5, якщо воно негативне. Тоді операція приймає такий вигляд: int (num + (0.5 if num> 0 else -0.5)). Щоб кожен раз не писати умова, зручно зробити окрему функцію:def int_r(num): num = int(num + (0.5 if num > 0 else -0.5)) return numprint(int_r(11.5))print(int_r(11.4))print(int_r(-0.991))print(int_r(1.391))>>> %Run 2.py1211-11>>>

Номер слайду 8

round() — округлення чиселround () - стандартна функція округлення в мові Python. Вона не завжди працює так, як очікується, а її алгоритм різниться в різних версіях Python. У третій версії Python використовується банківське округлення. Це означає, що округлення відбувається до найближчої парного.a =round(3.5)print(a)a =round(9.5)print(a)a =round(6.5)print(a)a =round(-6.5)print(a)a =round(-7.5)print(a)>>> %Run 55.py4106-6-8>>>

Номер слайду 9

Округлення до сотих. У функции raund() есть ещё один аргумент. Он показывает до какого количества знаков после запятой следует округлять. Таким образом, если нам надо в Python округлить до сотых, этому параметру следует задать значение 2.a =round(3.555, 2)print(a)a =round(9.515, 1)print(a)a =round(6.657, 2)print(a)a =round(-6.527, 2)print(a)a =round(-7.598, 2)print(a)>>> %Run 55.py3.569.56.66-6.53-7.6>>>

Номер слайду 10

Помилки округлення і модуль decimal. При округленні функцією round (), можна отримати наступне:a =round(2.65, 1)print(a)a =round(2.85, 1)print(a)>>> %Run 55.py2.62.9>>> Чому в одному випадку округляється вниз, а в іншому вгору? При перекладі 2.85 в двійкову систему виходить число, яке трохи більше. Тому функція бачить не «5», а «> 5» і округлює вгору. Вирішити дану проблему допоможе модуль decimal.

Номер слайду 11

Модуль decimal. При роботі з числами з плаваючою точкою (тобто float) ми стикаємося з тим, що в результаті обчислень ми отримуємо не зовсім вірний результат:a = 0.1 + 0.1 + 0.1print(a) # 0.30000000000000004 Проблему може вирішити використання функції round (), яка округлити число. Однак є й інший спосіб, який полягає в використанні вбудованого модуля decimal.

Номер слайду 12

Ключовим компонентом для роботи з числами в цьому модулі є клас Decimal. Для його застосування нам треба створити його об'єкт за допомогою конструктора. У конструктор передається строкове значення, яке представляє число :from decimal import Decimalnumber = Decimal("0.1")Після цього об'єкт Decimal можна використовувати в арифметичних операціях:from decimal import Decimal number = Decimal("0.1")number = number + number + numberprint(number) # 0.3

Номер слайду 13

В операціях з Decimal можна використовувати цілі числа:from decimal import Decimalnumber = Decimal("0.1")number = number + 2print(number)# 2,1 Однак не можна змішувати в операціях дробові числа float і Decimal:from decimal import Decimalnumber = Decimal("0.1")number = number + 0.1print(number)# тут виникне помилка

Номер слайду 14

Python - це маленький початок великих справ.mahalaschool.com.ua. Дякую за увагу!

Середня оцінка розробки
Структурованість
5.0
Оригінальність викладу
5.0
Відповідність темі
5.0
Загальна:
5.0
Всього відгуків: 1
Оцінки та відгуки
  1. Олександрівна Світлана
    Загальна:
    5.0
    Структурованість
    5.0
    Оригінальність викладу
    5.0
    Відповідність темі
    5.0
pptx
Додано
14 березня 2021
Переглядів
8333
Оцінка розробки
5.0 (1 відгук)
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку