Вещественные числа (float) в Python
Наверняка все, кто изучает пайтон (да и вообще любой язык программирование) задается вопросом, как тут работают числа. В сегодняшней статье мы подробно с этим разберемся с этим вопросом.
Вещественные числа float
Числа float в питоне имеют следующий вид: 4.35; 2.56 и т.д. Их отличительной чертой от главное является то, что они обязательно должны иметь.
Интересный факт: при написание чего-то подобного » .45″ компилятор не выдаст ошибку, а он поймет, что перед точкой должен стоять нуль.
Целые числа int
В python так же есть самые обычные целые числа с типом данных int. Например: 3, 6, 8, 24, 56. Подробнее обо всех возможностях с числами будет рассказано далее. Пока можно сказать только то, что в питоне можно работать с огромными числами (654767655465876674576756457568), в отличие от многих других языков программирования.
Float () в python
Хочется немного рассказать про точность вычисления float чисел. Иногда могут происходить такие вещи:
0.1+.0.1+0.1 != 0.3 ( != — не равно)
Почему же такое происходит? За ответом придется идти довольно далеко, ибо это связано с тем, как компьютер хранит и обрабатывает числа. Но если не идти в глубь, то можно сказать, что такого числа в питоне попросту нет.
Это обычная строка, к которой компилятор подбирает максимально близкое число. К примеру по следующим формулам:
1 / 10 ≈ J / (2**N) = 0.1 ; J ≈ 2**N / 10 = 0.1
Вывести число в python
Чтобы вывести в python все, что угодно нужно воспользоваться функцией print. Print(То, что хотите вывести).
Округление до целого числа
В питоне существует много различных библиотек. Одной из который нам придется сейчас воспользоваться, чтобы научиться округлять числа. Чтобы ее подключить, нужно в самом начале файла прописать:
import math
Данный модель содержит в себе очень много различных функций начиная от округления и заканчивая тригонометрией, однако со всем этим можно ознакомиться в официальной документации. Сейчас же рассмотрим только округления.
x = 23.4
round(x) — данная функция округляет числа до ближайшего целого (ответ будет 23). Если же мы передаем, допустим, 1.5, то округление произойдет до ближайшего четного.
Стоит обратить внимания на то, что в стандартном пайтоне уже есть функция round, которая принимает 2 аргумента:
round(x,n) — запись означает следующее: округли мне число х, на n знаков после запятой.
floor(x) — округляет число вниз. (если x = 13.8 выдаст — 13, если х = 4.2 выдаст 4)
ceil(x) — округляет число вверх. (если x = 13.8 выдаст — 14, если х = 4.2 выдаст 5)
Математические операции с числами
Поддерживают все операции (сложение, деление), что и в обычной математике.
x + y — складывает два числа.
x — y — вычитывает два числа.
x * y — умножает два числа.
x / y — делит два числа.
x // y — выдает целую часть после деление.
x % y — выдает остаток от деление.
abs(x) — выдает модуль числа
x ** y возводит x в y степень.
Для возведение в степень можно так же воспользоваться функцией pow(x, y) — где х — цифра, а у — степень. Чтобы извлечь квадратный корень числа, следует воспользоваться уже хорошо знакомой библиотекой math. В ней есть метод, который называет sqrt(x).
Парочка примеров:
>>> 130 + 34
164
>>> 15 * 3
45
>>> 20 / 3
6.666666666666667
>>> 14 // 4
3
>>> 14 % 4
2
>>> 3 ** 3
27
>>> pow(3, 3)
27
Комплексные числа (complex)
В Python также присутствуют и комплексные числа. Для работы с ними можно использовать библиотеку cmath, о которой более подробно можно узнать из документации.
- Если мы введем: complex(1, 2) то на выходе получим — (1+2j)
- Чтобы вывести сопряженное, используется метод x.conjugate()
- Чтобы вывести мнимую часть — x.imag
- Чтобы вывести действительную часть — x.real
- А сравнивать комплексные числа нельзя.
Тест на знание python
А в завершение рекомендуем пройти небольшой тест по теме, чтобы проверить себя, ну и заодно закрепить материал.
Какие числа бывают в питоне?
Какой модуль используется для работы с математическими выражениями?
a) math b) cmth c) muth d)maths
Что выдаст компилятор на такое выражение: 0.05 + 0.20 + 0.15 == 0.1 + 0.1 + 0.1?
a) True b) False
Что выдаст компилятор на такое выражение: sqrt(49) + ads(-3) // 3?
a) Ошибку b) 3.3333333333334 c) 3 d) 1
Что выдаст компилятор на такое выражение: ceil(23.2) + floor(66.8)?
a) 98 b)99 c) 100 d) 101 e) 102
Надеюсь, статья вам оказалась полезной и вы узнали много нового для себя. Но самое главное в программирование — практика. Поэтому вам следует все полученные знания прямо сейчас же по практиковать. Удачи!