Целая часть от деления python

Целая часть от деления python

Числа в Python 3: целые, вещественные, комплексные. Работа с числами и операции над ними.

Целые числа (int)

Числа в Python 3 ничем не отличаются от обычных чисел. Они поддерживают набор самых обычных математических операций:

x + y Сложение
x — y Вычитание
x * y Умножение
x / y Деление
x // y Получение целой части от деления
x % y Остаток от деления
-x Смена знака числа
abs(x) Модуль числа
divmod(x, y) Пара (x // y, x % y)
x ** y Возведение в степень
pow(x, y[, z]) x y по модулю (если модуль задан)

Также нужно отметить, что целые числа в python 3, в отличие от многих других языков, поддерживают длинную арифметику (однако, это требует больше памяти).

Битовые операции

Над целыми числами также можно производить битовые операции

x

x | y Побитовое или
x ^ y Побитовое исключающее или
x & y Побитовое и
x > y Битовый сдвиг вправо
Инверсия битов

Дополнительные методы

int.bit_length() — количество бит, необходимых для представления числа в двоичном виде, без учёта знака и лидирующих нулей.

int.to_bytes(length, byteorder, *, signed=False) — возвращает строку байтов, представляющих это число.

classmethod int.from_bytes(bytes, byteorder, *, signed=False) — возвращает число из данной строки байтов.

Системы счисления

Те, у кого в школе была информатика, знают, что числа могут быть представлены не только в десятичной системе счисления. К примеру, в компьютере используется двоичный код, и, к примеру, число 19 в двоичной системе счисления будет выглядеть как 10011. Также иногда нужно переводить числа из одной системы счисления в другую. Python для этого предоставляет несколько функций:

  • int([object], [основание системы счисления]) — преобразование к целому числу в десятичной системе счисления. По умолчанию система счисления десятичная, но можно задать любое основание от 2 до 36 включительно.
  • bin(x) — преобразование целого числа в двоичную строку.
  • hex(х) — преобразование целого числа в шестнадцатеричную строку.
  • oct(х) — преобразование целого числа в восьмеричную строку.

Вещественные числа (float)

Вещественные числа поддерживают те же операции, что и целые. Однако (из-за представления чисел в компьютере) вещественные числа неточны, и это может привести к ошибкам:

Для высокой точности используют другие объекты (например Decimal и Fraction)).

Также вещественные числа не поддерживают длинную арифметику:

Простенькие примеры работы с числами:

Дополнительные методы

float.as_integer_ratio() — пара целых чисел, чьё отношение равно этому числу.

float.is_integer() — является ли значение целым числом.

float.hex() — переводит float в hex (шестнадцатеричную систему счисления).

classmethod float.fromhex(s) — float из шестнадцатеричной строки.

Помимо стандартных выражений для работы с числами (а в Python их не так уж и много), в составе Python есть несколько полезных модулей.

Модуль math предоставляет более сложные математические функции.

Модуль random реализует генератор случайных чисел и функции случайного выбора.

Комплексные числа (complex)

В Python встроены также и комплексные числа:

Также для работы с комплексными числами используется также модуль cmath.

В программировании мы всегда взаимодействуем с данными, которые не являются какой-то абстрактной субстанцией. Все данные разделяются по определенному типу. На предыдущих уроках мы узнали, про строки, списки, словари и о логическом типе данных. Сегодня, поговорим о самом базовом типе данных в Python — числах.

Почему нельзя свалить все данные в одну общую кучу и не заморачиваться с каждым типом по отдельности? Допустим, мы присвоили переменной a цифру 5: a = 5. А теперь представьте, что никакого разделения по типу данных нет. Так что находится в переменной: число или строка? Если 10 — это число, то с ним можно произвести математические действия. А если это строка, то мы имеем дело с текстом и тогда Python задействует совсем другие методы.

Читайте также:  Как удалить фото профиля в фейсбук

# объединение строк (конкатенация)
d = ’10’
f = ‘негритят’
d + ‘ ‘ + f
’10 негритят’

Ключевой момент: У каждого типа данных свои методы.

Цифра 100 написанная без кавычек, относится к числовому типу данных. А цифра ‘100’ в кавычках — к строковому типу. С помощью синтаксиса, мы сообщаем Python, какой у нас тип данных. Числа в Python делятся на два вида: целое число и вещественное.

Целое число

К целым числам (int) относятся все положительные и отрицательные числа без дробной части. Все положительные целые числа называются натуральными.

-80, -10, -4, 0, 1, 2, 20

Вещественное число

У вещественных чисел (float) всегда присутствует дробная часть, а ещё их называют числами с плавающей точкой. Поскольку дробная часть отделяется от целой части, точкой.

Математические операции с числами

Ради математических вычислений в Python и существует числовой тип данных.

Сложение чисел

e = 45 + 55
print(e)
100

Вычитание чисел

Умножение чисел

Деление чисел

У результата деления целого числа на целое, всегда будет дробная часть. Такая особенность обусловлена тем, что в большинстве случаев числа не делятся без остатка.

Целочисленное деление

В результате целочисленного деления, всегда будет целое число. Мы просто отбрасываем остаток. Число 15 поместится целых 2 раза.

Остаток от деления

Ответом будет остаток от деления. При обычном делении, ответ был бы 15.1. Но нам нужен только остаток. Убираем целое число и оставляем 1.

n = 16 % 3
print(n)
1

Возведение числа в степень

Число перед двумя звездочками — это объект, который нужно возвести в степень. Цифра после звездочек обозначает, в какую степень возводим: 4 возводим во вторую степень.

l = 4 ** 2
print(l)
16

В Python есть встроенные математические функции.

Модуль числа

Функция abs() находит модуль числа. Передаем в параметрах одно значение. Если передаваемое значение отрицательное, то abs() вернет положительное число. Модуль числа не может быть отрицательным.

Наименьшее число

Функция min() в Python возвращает самое маленькое число.

Максимальное число

Функция max() вернет самое большое число.

Округление до целого числа

Функция round() округляет до целого числа.

Вывести число в Python

Функция print() выводит числа на экран.

Ввести число в Python

Функция input() считывает вводимое значение пользователем в консоль и сохраняет его в переменной. Но что произойдет, если мы введем какое-нибудь число и затем обратимся к переменной?

>>> r = input()
33
>>> r
’33’ # это строка

Python вывел строку, так как число стоит в кавычках.

Для ввода целого числа, следует обернуть функцию input() в другую функцию int().

Для вещественного числа, соответственно в float().

Как посчитать сумму введенных чисел?

В команде input() можно передавать подсказки.

w = int(input("Введите первое число: "))
q = int(input("Введите второе число: "))
summa=w+q
print(summa)

Введите первое число: 6
Введите второе число: 7
13

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Она выглядит вот так:

  • BB-код ссылки для форумов (например, можете поставить её в подписи):
  • Комментарии ( 0 ):

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Читайте также:  Как проверить динамик батарейкой

    Copyright © 2010-2020 Русаков Михаил Юрьевич. Все права защищены.

    Главным отличием вещественных чисел от целых является наличие символа " . " которая отделяет целую часть от дробной:

    Причем обратите внимание на числа 2. и .78 , т.е. если Python видит, что слева или справа от точки ничего нет, то он понимает, что либо целая либо дробная часть равна (0).

    Другой отличительной чертой является необязательное наличие символа " e " – экспоненты:

    Если на длину целых чисел не накладывается абсолютно никаких ограничений по величине, то с вещественными числами это не так. Что бы узнать информацию о числах типа float для компьютера на котором выполняется программа, можно воспользоваться командой sys.float_info :

    • max — максимальное представимое число;
    • max_exp — максимальня степень (2);
    • max_10_exp — максимальное число e, такое что 10**e находится в [min , max] ;
    • min — минимальное представимое число;
    • min_exp — минимальная степень (2);
    • min_10_exp — минимальное число e, такое что 10**e находится в [min , max] ;
    • dig — максимальное число цифр, которыми можно точно отобразить число;
    • mant_dig — максимальное число цифр в radix системе счисления, которыми можно точно отобразить число;
    • epsilon — разность между (1) и наименьшим числом большим (1) которую можно представить как число с плавающей точкой;
    • radix — основание используемой системы счисления;
    • rounds — целочисленная константа определяющая режим округления.

    В данном выводе для нас представляют особый интерес значения: max , min , max_10_exp и min_10_exp , которые определяют пределы диапазонов для мантисы и степени, например:

    Значения -inf, inf и nan

    Тем не менее вместо ошибок OverflowError, когда число выходит за указанные пределы, иногда появляются значения -inf и inf :

    Возможно, к появляению ошибки OverflowError приводит только операция возведения в степень (скорее всего, хотя может я и не прав, точные причины возникновения данной ошибки кроются где-то в недрах языка C, на котором реализован интерпретатор CPython). Все что нужно знать о значениях -inf и inf это то что это числа обозначающие плюс минус бесконечность. Да, это на самом деле числа числа с плавающей запятой, которые могут учавствовать в выражениях:

    Однако, что бы вы не делали с бесконечностью, она так и останется бесконечностью. Единственное что можно попробовать, так это вычесть из одной бесконечности другую бесконечность:

    И мы получили nan — значение, которое означает неопределяемое число (или "не число"). Но оно ведет себя как число, и в каком бы выражении оно не появилось, результат всегда будет nan (кроме nan/0 т.к. деление на (0) всегда приводит к появлению ошибки):

    В реальной жизни, вы скорее всего никогда не встретитесь с значениями -inf , inf и nan , если только не собираетесь заниматься какими-нибудь весьма специфичными вычислениями. Но, как правило, тех, кто встречается с этими значениями впервые, почему-то смущает, то что они не понимают откуда берутся и как действуют эти значения.

    Арифметические операции

    Целые числа поддерживают следующие математические операции, которые отсортированы по убыванию приоритета:

    Операция Результат Замечание
    1 x ** y возводит x в степень y (I)
    2 pow(x, y[, z]) возводит x в степень y по модулю z, где z – необязательный аргумент (I)
    3 divmod(x, y) возвращает кортеж с парой чисел (x // y, x % y) (II)
    4 x.conjugate() возвращает (ar) — число, которое комплексно сопряжено с (x)
    5 complex(re, im) преобразует re в комплексное число (по умолчанию im = 0 ) (V)
    6 float(x) преобразует x в вещественное число (число с плавающей точкой) (V)
    7 int(x) переобразует x в целое число, представленное в десятичной системе счисления (V)
    8 abs(x) абсолютное значение (модуль) числа x
    9 +x делает число x положительным
    10 -x делает число x отрицательным
    11 x % y остаток от деления x на y (II)
    12 x // y результат целочисленного деления x на y (III) (II)
    13 x / y результат "истинного" деления x на y
    14 x * y произведение x и y
    15 x — y разность x и y
    16 x + y сумма x и y
    Читайте также:  Гарнитура на два уха

    Важно: приоритет математических операций выше побитовых логических операций и операций сравнения.

    I. возведение (0) в степень (0) возвращает (1):

    Извлечение корней четной степени из отрицательных чисел не вызывает ошибки, а возвращает комплексное число:

    Использование в выражении x ** y слишком больших значений x и y типа float может привести к ошибке OverflowError.

    II. функция divmod() и операции % , // не работают для комплексных чисел. Для вас это может быть и очевидно, но не пользователя для которого вы пишите программу.

    III. Данная операция всегда возвращает целое число, т.е. если число x можно представить в виде d*y + r , то x//y = d (r – остаток от деления). Так же следует иметь ввиду, что результат данной операции всегда округляется в сторону минус бесконечности:

    Это немного сбивает с толку, но проверив результат по формуле x = d*y + r , вы убедитесь что все верно.

    IV. встроенная функция int() отбрасывает дробную часть вещественных чисел:

    V. строго говоря эти функции не являются математическими, но они могут учавствовать в математических выражениях Python и поэтому должны обладать приоритетом.

    Операции сравнения

    Для сравнения чисел, доступно (8) операций сравнения, причем все они имеют одинаковый приоритет:

    Операция Результат Замечание
    1 x True если x меньше y, иначе False
    2 x True если x меньше или равно y, иначе False
    3 x > n True если x больше y, иначе False
    4 x >= n True если x больше или равно y, иначе False
    5 x == y True если x равно y, иначе False
    6 x != y True если x не равно y, иначе False
    7 x is y True если x и y это один и тот же объект, иначе False
    8 x is not y True если x и y это не один и тот же объект, иначе False

    Важно: приоритет операций сравнения ниже математических и побитовых операций.

    Важно: числа типа float не являются десятичными дробями и используют двоичную арифметику компьютера, поэтому многие, даже самые простые выражения могут вычисляться с ничтожно малыми погрешностями. Однако, из-за этих погрешностей, вполне очевидные операции сравнения работают не так как ожидается:

    В Python сравнение x > y and y > z является эквивалентным x > y > z т.е. сравнения связаные оператором and в произвольные цепочки могут быть записаны в более компактной форме. Выполнение таких выражений начинается слева направо и останавливается как только будет получено первое значение False. Это означает, что если в выражении x > y > z сравнение x > y вернет False то сравнение y > z выполняться не будет.

    Методы вещественных чисел

    Вещественные числа – это объекты, которые обладают следующими методами:

    Появление таких больших чисел связано с тем, что числа типа float на самом деле не являются десятичными дробями, и хранятся в памяти с небольшой погрешностью:

    Python позволяет преобразовывать вещественные числа из десятичной системы счисления в шестнадцатеричную и обратно. Создание вещественных чисел из их шестнадцатеричного представления, позволяет избежать погрешности которая неминуемо возникает при переводе десятичных чисел в двоичное представление. Шестнадцатеричные вещественные числа в Python задаются строкой вида:

    где sign – это необязательный знак, который может быть как + или — ; integer – и fraction – целая и дробная части которые должны обязательно содержать хотя бы по одной цифре, ‘0x’ – уже знакомый нам префикс, обозначающий шестнадцатеричные числа и ‘p’ exponent – экспонента в виде десятичного целого числа со знаком или без.

    Показатель степени ‘p’ exponent является степенью двойки, например, перевод числа ‘0x2.f1ap+3’ из шестнадцатеричной системы счисления в десятичную будет выглядеть следующим образом:

    Применение обратного преобразования дает другую шестнадцатеричную строку, которая, однако, представляет тоже самое число:

    Ссылка на основную публикацию
    Хайскрин пауэр айс эво
    Вас интересуют характеристики Highscreen Power Ice Evo (Хайскрин Повер Ис Эво)? Мы собрали всю важную информацию, чтобы помочь определиться с...
    Установить gvlk ключ что это
    В связи с недавним выходом окончательной RTM версии пакета Microsoft Office 2016, корпоративные заказчики уже могут начинать переход на новую...
    Установить openal32 dll для windows 7
    Данная библиотека задействуется во многих процессах во время работы компьютера. Например, она используется в играх, мультимедиа и различных программах. Иногда...
    Халявные страницы в вк логины и пароли
    Please complete the security check to access youhack.ru Why do I have to complete a CAPTCHA? Completing the CAPTCHA proves...
    Adblock detector