How could I go about finding the division remainder of a number in Python?
For example:
If the number is 26 and divided number is 7, then the division remainder is 5.
(since 7+7+7=21 and 26-21=5.)
For simple divisibility testing, see How do you check whether a number is divisible by another number?.
Karl Knechtel
61.4k11 gold badges97 silver badges146 bronze badges
asked Apr 7, 2011 at 16:44
1
you are looking for the modulo operator:
a % b
for example:
>>> 26 % 7
5
Of course, maybe they wanted you to implement it yourself, which wouldn’t be too difficult either.
wjandrea
27k9 gold badges58 silver badges80 bronze badges
answered Apr 7, 2011 at 16:45
Uku LoskitUku Loskit
40.6k9 gold badges91 silver badges93 bronze badges
2
The remainder of a division can be discovered using the operator %
:
>>> 26%7
5
In case you need both the quotient and the modulo, there’s the builtin divmod
function:
>>> seconds= 137
>>> minutes, seconds= divmod(seconds, 60)
answered May 1, 2011 at 11:49
tzottzot
91.8k29 gold badges140 silver badges203 bronze badges
0
26 % 7
(you will get remainder)
26 / 7
(you will get divisor, can be float value)
26 // 7
(you will get divisor, only integer value)
wjandrea
27k9 gold badges58 silver badges80 bronze badges
answered Mar 17, 2016 at 22:14
2
If you want to get quotient and remainder in one line of code (more general usecase), use:
quotient, remainder = divmod(dividend, divisor)
#or
divmod(26, 7)
answered Feb 21, 2019 at 4:44
Alok NayakAlok Nayak
2,36122 silver badges28 bronze badges
1
From Python 3.7, there is a new math.remainder()
function:
from math import remainder
print(remainder(26,7))
Output:
-2.0 # not 5
Note, as above, it’s not the same as %
.
Quoting the documentation:
math.remainder(x, y)
Return the IEEE 754-style remainder of x with
respect to y. For finite x and finite nonzero y, this is the
difference x – n*y, where n is the closest integer to the exact value
of the quotient x / y. If x / y is exactly halfway between two
consecutive integers, the nearest even integer is used for n. The
remainder r = remainder(x, y) thus always satisfies abs(r) <= 0.5 *
abs(y).Special cases follow IEEE 754: in particular, remainder(x, math.inf)
is x for any finite x, and remainder(x, 0) and remainder(math.inf, x)
raise ValueError for any non-NaN x. If the result of the remainder
operation is zero, that zero will have the same sign as x.On platforms using IEEE 754 binary floating-point, the result of this
operation is always exactly representable: no rounding error is
introduced.
Issue29962 describes the rationale for creating the new function.
answered Jan 11, 2018 at 14:28
Chris_RandsChris_Rands
38.4k13 gold badges82 silver badges116 bronze badges
1
If you want to avoid modulo, you can also use a combination of the four basic operations 🙂
26 - (26 // 7 * 7) = 5
answered Jul 14, 2013 at 3:07
alysalys
3213 silver badges10 bronze badges
Use the % instead of the / when you divide. This will return the remainder for you. So in your case
26 % 7 = 5
answered Apr 7, 2011 at 16:47
codewariocodewario
19k19 gold badges87 silver badges156 bronze badges
We can solve this by using modulus operator (%)
26 % 7 = 5;
but
26 / 7 = 3 because it will give quotient but % operator will give remainder.
answered Feb 10, 2018 at 19:20
1
Modulo would be the correct answer, but if you’re doing it manually this should work.
num = input("Enter a number: ")
div = input("Enter a divisor: ")
while num >= div:
num -= div
print num
answered Apr 7, 2011 at 17:25
CooperCooper
6693 silver badges9 bronze badges
1
You can find remainder using modulo operator
Example
a=14
b=10
print(a%b)
It will print 4
mischva11
2,7813 gold badges18 silver badges34 bronze badges
answered Apr 15, 2020 at 7:50
1
If you want the remainder of your division problem, just use the actual remainder rules, just like in mathematics. Granted this won’t give you a decimal output.
valone = 8
valtwo = 3
x = valone / valtwo
r = valone - (valtwo * x)
print "Answer: %s with a remainder of %s" % (x, r)
If you want to make this in a calculator format, just substitute valone = 8
with valone = int(input("Value One"))
. Do the same with valtwo = 3
, but different vairables obviously.
answered Oct 19, 2017 at 0:33
1
Here’s an integer version of remainder in Python, which should give the same results as C’s “%” operator:
def remainder(n, d):
return (-1 if n < 0 else 1) * (abs(n) % abs(d))
Expected results:
remainder(123, 10) == 3
remainder(123, -10) == 3
remainder(-123, 10) == -3
remainder(-123, -10) == -3
answered Mar 19, 2021 at 2:18
calamaricalamari
3292 silver badges8 bronze badges
you can define a function and call it remainder with 2 values like rem(number1,number2) that returns number1%number2
then create a while and set it to true then print out two inputs for your function holding number 1 and 2 then print(rem(number1,number2)
answered Jun 25, 2020 at 11:52
1
Числа очень часто применяются в программирование для ведения счета в играх, представления данных в визуализации, хранение информации и т.д.
Содержание страницы: |
---|
1. Типы чисел |
2. Арифметические операторы |
2.1. Сложение и вычитание |
2.2. Умножение |
2.3. Возведение в степень |
2.4. Деление |
2.5. Деление с округлением |
2.6. Оператор вычисления остатка от деления |
3. Исключения и трассировка |
1. Типы чисел в Python.
В Python числа делятся на несколько категорий в соответствии со способом их использования. Основные это целые числа (int) и вещественные (float) или числа с плавающей точкой. Чтобы узнать к какому типу относится число или переменная, можно воспользоваться встроенной функцией type(). Запустите командную строку и активируйте Python. В скобках введите число или переменную, чтобы узнать ее тип.
>>> type(5)
<class ‘int’>
>>> type(12.5)
<class ‘float’>
>>> x = 10
>>> type(x)
<class ‘int’>
Значение 12,5 является числом с плавающей точкой, поэтому Python выводит строку float. Переменная x содержит целое число 10, поэтому Python выводит тип int (сокращение от integer).
2. Арифметические операторы Python.
В таблице перечислены арифметические операторы, среди которых встречаются некоторые знаки, не используемые в алгебре.
Операции Python | Арифметический оператор | Алгебраическое выражение | Выражение Python |
---|---|---|---|
Сложение | + | a + b | a + b |
Вычитание | – | a – b | a – b |
Умножение | * | a · b | a * b |
Возведение в степень | ** | xy | a ** b |
Деление | / | x / y | x / y |
Целочисленное деление | // | [ x / y ] | x // y |
Остаток от деления | % | r mod s | r % s |
2.1. Сложение и вычитание в Python.
Сложение и вычитание в целом выполняется и записывается, как и обычно в алгебре.
>>> 5 + 2
7
>>> 5 – 2
3
2.2. Умножение в Python( * )
В Python в качестве оператора умножения используется знак * (звездочка)
>>> 5 * 5
25
2.3. Возведение в степень в Python( ** )
В Python для возведения в степень используются два знака **.
>>> 5 ** 6
15625
>>> 81 **(1/2)
9.0
Для вычисления квадратного корня можно воспользоваться показателем степени 1/2. Корень 81 = 9.
2.4. Деление в Python ( / )
Оператор деления ( / ) делит числитель на знаменатель
>>> 10 / 2
5.0
>>> 10 / 8
1.25
♦ Важно, при делении двух любых чисел – даже если это целые числа, частным от деления которых является целое число, вы всегда получаете вещественное число.
2.5. Деление с округлением в Python( // )
Операция целочисленное деление ( // ) делит числитель на знаменатель, в результате получается наибольшее целое число, не превышающее результат. В Python дробная часть отсекается.
>>> 10 // 8
1
>>> 20 // 8
2
>>> – 17 // 4
-5
При обычном деление 10 на 8, получается результат 1,25. Python отсекает дробную часть и в итоге получаем 1.
2.6. Оператор вычисления остатка от деления ( % )
Для вычисления остатка от деления в Python используется оператор вычисления остатка от деления %
>>> 21 % 5
1
>>> 18 % 4
2
>>> 9.5 % 4.5
0.5
В данных примерах при делении 21 на 5, получается частное 4 и остаток 1. Во втором случае при делении 18 на 4, получается 4 и остаток 2. Этот оператор чаще работает с целыми числами, но также может использоваться и с другими типами.
3. Исключения и трассировка.
В Python также как и в алгебре деление на 0 запрещено. При попытке выполнения такой операции происходит исключение. Сообщая об исключение, Python выдает трассировку стека. В трассировке указано, что произошло исключение типа ZeroDivisionError, большая часть исключений заканчивается суффиксом Error. Ошибка division by zero – деление на ноль.
>>> 5 / 0
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
ZeroDivisionError: division by zero
Далее: Строки и функция print в Python
Назад: Запуск программ Python в командной строке
>>> 5 -?
Статья содержит описание основных операторов языка python, таких как остаток от деления python, логические, побитовые операторы и т.д. Приведены примеры использования операторов и пояснены некоторые тонкости их использования.
Содержание
- Введение в операторы Python
- Арифметические операторы Python
- Сложение
- Вычитание
- Умножение
- Деление
- Возведение в степень
- Деление без остатка
- Деление по модулю (остаток от деления)
- Операторы сравнения
- Оператор «меньше»
- Оператор «больше»
- Оператор «меньше или равно»
- Оператор «больше или равно»
- Оператор «равно»
- Оператор «не равно»
- Операторы присваивания
- Простое присваивание
- Сложение и присваивание
- Вычитание и присваивание
- Деление и присваивание
- Умножение и присваивание
- Деление по модулю и присваивание
- Возведение в степень и присваивание
- Деление с остатком и присваивание
- Логические операторы python
- И (and)
- Или (or)
- Не (not)
- Операторы принадлежности (членства)
- В (in)
- Нет в (not in)
- Операторы тождественности
- Это (is)
- Это не (is not)
- Битовые операторы python
- Бинарное «и»
- Бинарное «или»
- Бинарное «или нет»
- Инвертирующий оператор
- Бинарный сдвиг влево
- Бинарный сдвиг вправо
Введение в операторы Python
В языке программирования python, как и во всех остальных, есть различные операторы. Большинство из них выглядят стандартно и привычно: арифметические операции везде обозначаются одинаково, а, например, для остатка от деления в python зарезервирован знак %. Но рассмотрим же подробнее все стандартные и наиболее часто используемые операторы языка python.
Операторы языка Питон подразделяются на 7 видов:
- Знаки арифметических операций
- Сравнительные
- Присваивающие
- Логические
- Операторы принадлежности (или членства, или вложенности)
- Тождественные
- Битовые (или бинарные)
Арифметические операторы Python
Данные операторы выполняют операции сложения, умножения, вычитания, деления, вычисления остатка от деления и возведения в степень над числами. Сложение и умножение также работает и для строк.
Рассмотрим примеры работы различных операторов (в качестве среды разработки в примерах используется Visual Studio 2019). Синтаксис python позволяет сразу же вычислять результат операции без присвоения его какой-либо переменной; это свойство будет использовано в некоторых примерах. Также не нужно производить import каких-либо библиотек: все основные команды python являются стандартными и зарезервированными.
Сложение
Складываем один и два:
Вычитание
Вычитаем из четырёх два:
Умножение
Умножаем десять на пять:
print(10 * 5)
# Вывод:
50
Деление
Делим двадцать четыре на шесть:
print(24 / 6)
# Вывод:
4.0
Примечание. Результат деления в Python 3 и выше всегда приводится к типу float (число с плавающей запятой), который требует большее количество памяти, чем, например, целочисленный тип int, в связи с чем деление (и другие операции) в питон работает медленнее, чем в более низкоуровневых языках.
Возведение в степень
Возводим семь во вторую степень (или в квадрат):
print(7 ** 2)
# Вывод:
49
Деление без остатка
Ищем целую часть от деления семи на два:
Примечание. Python отличается от других языков тем, что в нём результат целочисленного деления может быть как целым числом, так и числом с плавающей запятой. Например, если поделить число типа int на число типа float, то результатом будет число типа float:
print(70 // 2.0)
# Вывод:
35.0
Одно из чисел вещественное в этом — в этом и состоит загвоздка. В таком случае ответ обязан быть вещественным числом.
Деление по модулю (остаток от деления)
Ищем остаток от деления семи на два:
Операторы сравнения
Эти операторы сравнивают 2 значения (строковые или числовые). Любой из операторов данного типа возвращает булевое значение — True или False.
Оператор «меньше»
print(13 < 15)
# Вывод:
True
13 меньше, чем 15 — это верно.
print(13 < 12)
# Вывод:
False
13 меньше, чем 12 — это не верно.
Оператор «больше»
print(13 > 13)
# Вывод:
False
13 меньше, чем 13 — это не верно.
print(13 > 10)
# Вывод:
True
13 меньше, чем 10 — это верно.
Оператор «меньше или равно»
print(13 <= 17)
# Вывод:
True
13 меньше или равно 17 — это верно.
print(13 <= 1)
# Вывод:
False
13 меньше или равно 1 — это не верно.
Оператор «больше или равно»
print(13 >= 13)
# Вывод:
True
13 большее или равно 13 — это верно.
print(13 >= 17)
# Вывод:
False
13 большее или равно 17 — это не верно.
Оператор «равно»
print(13 == 13)
# Вывод:
True
13 равно 13 — это верно.
print(13 == 14)
# Вывод:
False
13 равно 14 — это не верно.
Оператор «не равно»
print(13 != 13)
# Вывод:
False
13 не равно 13 — это не верно.
print(13 != 14)
# Вывод:
True
13 не равно 14 — это верно.
Операторы присваивания
Эти операторы присваивают значение правого операнда левому. Только один-единственный оператор просто присваивает значение — это знак «=» (равно). Все остальные предварительно выполняют какое-либо арифметическое действие между двумя операндами, и получившийся результат записывается в левый операнд.
Простое присваивание
Присвоим переменным значения, с которыми будут работать другие операторы дальше:
a = 100
b = 25
print(a, b)
# Вывод:
100 25
Сложение и присваивание
Значение переменной b складывается со значением переменной a, после чего результат записывается в a:
a += b
print(a)
# Вывод:
125
Вычитание и присваивание
Значение переменной b вычитается из значения переменной a, после чего результат записывается в a:
a -= b
print(a)
# Вывод:
75
Деление и присваивание
Значение переменной a делится на значение переменной b, после чего результат записывается в a:
a /= b
print(a)
# Вывод:
4.0
Умножение и присваивание
Значение переменной a умножается на значение переменной b, после чего результат записывается в a:
a *= b
print(a)
# Вывод:
2500
Деление по модулю и присваивание
Значение переменной a делится на значение переменной b, после чего остаток от деления записывается в a:
a %= b
print(a)
# Вывод:
0
a = 68
b = 23
a %= b
print(a)
# Вывод:
22
Возведение в степень и присваивание
Значение переменной a возводится в степень, равную значению переменной b, после чего результат записывается в a:
a **= b
print(a)
# Вывод:
100000000000000000000000000000000000000000000000000
Деление с остатком и присваивание
Значение переменной a делится на значение переменной b, после чего целая часть результата деления записывается в a:
a //= b
print(a)
# Вывод:
4
a = 68
b = 23
a //= b
print(a)
# Вывод:
2
Логические операторы python
Логических операторов в python, как и в математической логике, всего 3 — «и», «или», «не», в Python это их английские аналоги — and, or, not. Результат выполнения этих операций соответствует таблице истинности.
И (and)
a = (1 + 3 == 4) and (2 * 2 == 6)
print(a)
# Вывод:
False
Результатом этой операции оказалось False, так как для оператора and необходимо, чтобы оба операнда были равны True. Тогда и только тогда вернётся True.
Или (or)
a = (1 + 3 == 4) or (2 * 2 == 6)
print(a)
# Вывод:
True
Результатом этой операции оказалось True, ведь для оператора «or» достаточно, чтобы лишь один из операндов был равен True.
Не (not)
a = (1 + 3 == 4) and not (2 * 2 == 6)
print(a)
# Вывод:
True
Так как наш «неверный» правый операнд в результате применения к нему операции not изменил своё значение на True, то верным стало и всё выражение целиком.
Операторы принадлежности (членства)
Эти операторы проверяют, существует ли заданное значение в известном списке, словаре, кортеже или строке. Можно сказать, что таковых в питон всего 2 — это in и его отрицание not in. Соответственно, in вернёт True в случае наличия элемента в последовательности, а not in, наоборот, вернёт False, если данный элемент есть в последовательности, и True, если его нет.
В (in)
a = "abc" in "abcdef"
print(a)
# Вывод:
True
Строка «abc» является подстрокой строки «abcdef», соответственно, являясь подпоследовательностью данной последовательности.
a = 10 in (1, 7, 13, 6)
print(a)
# Вывод:
False
Числа 10 нет в этом списке, потому мы и видим False.
Нет в (not in)
a = 10 not in (1, 7, 13, 6)
print(a)
# Вывод:
True
Элемента 10 нет в данном списке, поэтому операция вернёт True. А если он будет:
a = 10 not in (1, 7, 13, 6, 10)
print(a)
# Вывод:
False
В этом списке уже есть значение 10, поэтому оператор непринадлежности возвращает False.
a = "abc" not in "abcdef"
print(a)
# Вывод:
False
Операторы тождественности
Их, как и операторов принадлежности, всего два, и один из них является отрицанием другого. Оператор в python is сравнивает положение двух объектов в памяти и выясняет, один и тот же ли это объект, в случае успеха возвращая True. Оператор not is вернёт True, если проверка показала, что сравниваемые объекты являются разными (имеют разное расположение в памяти).
Это (is)
print("10" is '10')
# Вывод:
True
Разные кавычки не влияют на результат выполнения операции, так как это в любом случае строка, один и тот же объект. Но если сравнить строку и число, результат будет иным:
print(10 is '10')
# Вывод:
False
Это действительно разные объекты, находящиеся в разных местах памяти.
Это не (is not)
print(20 is not (20 + 1))
# Вывод:
True
Верно, ведь 20 не равно 21.
Битовые операторы python
Побитовые python операторы работают только с целыми числами, причём особым образом: значения операндов переводятся в двоичную систему, после чего операция выполняется последовательно для каждого бита. После окончания операции значение переводится обратно в десятичную систему и может быть возвращено в качестве результата операции.
Всего в питон 6 побитовых операторов:
- & — бинарное «и»
- | — бинарное «или»
- ^ — бинарное «или нет» (исключающее ИЛИ, или XOR)
- ~ — инвертирующий оператор (отрицание, для него требуется только один операнд)
- << — бинарный сдвиг влево
- >> — бинарный сдвиг вправо
Бинарное «и»
Бинарное «или»
Бинарное «или нет»
Инвертирующий оператор
Бинарный сдвиг влево
Бинарный сдвиг вправо
Python — популярный высокоуровневый язык программирования. Он обладает большим набором инструментов, имеет динамическую типизацию и используется для решения любых видов задач.
Деление в Python разделяется на три вида: обычное, целочисленное и взятие остатка. Программисту не нужно заботиться о типах операндов, Python сам определяет их и приводит результат к нужному виду. Как это делается, разберемся в этой статье.
Оператор деления
Деление в Python обозначается косой чертой «/». Примечательно, что результат в консоле всегда приводится к типу «float», даже если оба операнда были целочисленного типа, об этом свидетельствует появление «.0» у полученного значения.
Это появилось в 3-ей версии Python, ранее результатом деления целых чисел было только целое число, чтобы получить дробный результат, программисты явно указывали одному из операндов тип «float», в противном случае дробная часть просто отбрасывалась.
Важно понимать, что деление в Python, как и другие операции, работает медленнее, чем в более низкоуровневых языках программирования. Это связано с высоким уровнем автоматизации и абстракции, из-за динамической типизации интерпретатор вынужден приводить числа к дробному типу «float», который требует большего количества памяти.
Деление в представлении человека отличается от его представления в компьютере. Компьютер устроен так, что все арифметические операции могут выполняться только через сложение. Это значит, что быстрее всего выполняется сложение, затем вычитание, где необходимо менять знак операндов, умножение, где число складывается много раз. Деление выполняется дольше всех, потому что помимо многократно повторяющейся операции сложения необходимо также менять знак операндов, что требует больше памяти и действий.
Примеры:
print(int(1) / int(2)) print(5 / 5) print(1 / 3) 0.5 1.0 0.3333333333333333
Из примера видно, что не смотря на то, что во всех случаях операция была между целыми числами, результатом деления в Python 3 является вещественное число. В первом случае мы даже специально использовали приведение к типу int.
Дополнительно хотелось бы отметить, что если точности типа данных float не достаточно, можно воспользоваться библиотекой decimal. В частности мы её использовали при написании программы «калькулятор» в отдельной статье.
Деление без остатка
Чтобы выполнить деление на цело в Python, можно воспользоваться целочисленным делением. В этом случае результатом будет целое число, без остатка. Целочисленное деление в Python обозначается двумя косыми чертами «//».
В отличие от других языков программирования Python позволяет результату целочисленного деления быть как целым (int), так и дробным (float) числом. В обоих случаях дробная часть отбрасывается и получается число с окончанием «.0».
Примеры нахождения целой части от деления:
print(5 // 2) print(0 // 2) print(1234 // 5.0) 2 0 246.0
В первых двух случаях деление осуществлялось между целыми числами. Поэтому в результате было получено целое число. В третьем примере одно из чисел вещественное. В этом случае в результате получаем так же вещественное число (типа float), после запятой у которого 0.
Остаток
Для получения остатка от деления в Python 3 используется операция, обозначающаяся символом процента «%». Остаток — это оставшаяся после целочисленного деления часть числа. Операция взятия остатка используется для решения различных видов задач.
Примеры:
print(10 % 3) print(5 % 10) print(5 % 0.25) 1 5 0.0
Определение остатка от деления очень часто используется в программах для нахождения, допустим, чётных чисел. Или, например, если обработка данных выполняется в цикле, и нужно выводить в консоль сообщение о ходе обработки не каждый раз, а на каждой 10-ой итерации.
Вот пример вывода чётных чисел из списка в консоль:
example_list = [3, 7, 2, 8, 1, 12] for value in example_list: if value % 2 == 0: print(value) 2 8 12
Проблемы чисел с плавающей точкой
Компьютер устроен так, что на аппаратном уровне понимает только две цифры: один и ноль. Из-за этого при делении и других операциях с дробями часто возникают проблемы. Например, 1/10 в двоичном представлении является неправильной бесконечной дробью. Её нельзя написать полностью, поэтому приходится округлять, а выбор значения при округлении ограничен нулем и единицей.
Что говорить о делении, если ошибки возникают и при операции сложения. Если сложить число «0.1» с самим собой четырнадцать раз, то получиться 1.400…01. Откуда взялась эта единица? Она появилась при переводе числа из двоичного вида в десятичный.
a = 0.1 for i in range(13): a += 0.1 print(a) 1.4000000000000001
Более технически сложное деление приводит к подобным неточностям гораздо чаще. Обычно Python округляет результат так, что пользователь не замечает этой проблемы, но если получается достаточно длинное число, то проблема проявляется.
Деление комплексных чисел
Комплексные числа — это числа вида «a + b·i». Они занимают наивысшую ступень в иерархии чисел, арифметические операции над ними существенно отличаются от операций над обычными числами.
Деление комплексного числа на обычное меняет лишь длину радиус вектора, но не его направление.
Пример:
print((5 + 8j) / 2) (2.5+4j)
Сокращенные операции деления
Чтобы упростить жизнь программистов, разработчики Python включили в язык «сокращенные операции». Их используют если надо выполнить операцию над переменной и полученный результат записать в эту же переменную. То, что записывается в длинной форме, можно записать в более короткой по следующим правилам:
Полная форма | Краткая форма | |
Деление | a = a / b | a /= b |
Целая часть | a = a // b | a //=b |
Остаток | a = a % b | a %= b |
Приведём пример:
a = 245 a %= 17 print(a) 7
Деление на ноль
Если попробовать в Python выполнить деление на 0, то мы получим исключение ZeroDivisionError.
Исключение следует обрабатывать, это можно сделать так:
try: print(24 / 0) except Exception as e: print(e) division by zero
Но в этом случае мы обрабатываем все исключения. Зачастую так делать не совсем корректно. Мы знаем, что в нашем коде возможно деление на 0 и, чтобы отловить именно эту ошибку, следует заменить except Exception as e:
на except ZeroDivisionError as e:
.
Но можно и проверять перед выполнением операции, что делитель не равен 0. Например так:
a = 14 b = None if a == 0: print('делитель равен нулю!') else: b = 345/a print('Операция выполнена, результат = ' + str(b)) Операция выполнена, результат = 24.642857142857142
В Python, как и во всех популярных языках программирования, имеются целые числа (int) и числа с плавающей точкой (float). Но у Python есть и отличительная особенность – комплексные числа (complex).
Стоит также уточнить, что при присваивании переменной любого типа числа, не нужно использовать кавычки, так как они определяют строку, а не число. Пример:
str1 = '1' str2 = '2' num1 = 1 num2 = 2 print(str1+str2) # Выведет '12' print(num1+num2) # Выведет 3
Целые числа (int) в Python
В Python, как и в привычной нам математике, целыми числами являются все числа, которые лишены дробной части, то есть не имеют плавающей точки. Рассмотрим на примере:
num1 = 1 num2 = 2 # Присваиваем переменным целые числа print(num1, num2) # Выведет 1 2
Для упрощения создания больших чисел в Python используется нижнее подчеркивание, а не запятая. Пример:
num = 999_999_999 print(num) # Выведет 999999999 num = 999,999,999 print(num) # Выдаст ошибку
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Числа с плавающей точкой (float)
Для отделения целой части числа в Python используется точка. Рассмотрим создание float-числа на примере:
num1 = 0.1 num2 = 0.22 # Присваиваем переменным целые числа print(num1, num2) # Выведет 0.1 0.22
Комплексные числа (complex)
Как я писал выше, Python поддерживает комплексные числа без установки дополнительных модулей. Рассмотрим создание таких чисел на примере:
# создание и сложение двух комплексных чисел num1 = 1 + 2j num2 = 2 + 4j summa = num1 + num2 print(summa) # Выведет (3+6j)
Проверка типа данных переменной
Для проверки типа данных переменной в Python используется встроенная функция type(). Рассмотрим на примере:
str = '1' int = 1 float = 1.1 com1 = 1 + 2j com2 = 2 + 4j complex = com1 + com2 print(type(str)) # Выведет <class 'str'> print(type(int)) # Выведет <class 'int'> print(type(float)) # Выведет <class 'float'> print(type(complex)) # Выведет <class 'complex'>
Арифметические действия в Python
Сложение делается с помощью оператора “+”. Пример:
a = 1 + 1 print(a) # Выведет 2
С помощью сложения можно преобразовать целое число в число с плавающей точкой. Рассмотрим на примере:
a = 1 + 1.0 print(a) # Выведет 2.0
Вычитание выполняется с помощью оператора “–”. Пример:
a = 1 - 1 print(a) # Выведет 0
Умножение делается с помощью оператора “*”:
a = 2 * 2 print(a) # Выведет 4
Возведение в степень выполняется с помощью оператора “**”. Пример:
a = 2**3 print(a) # Выведет 8
Также возведение в степень можно производить с помощью функции pow():
num1 = 2 num2 = 3 print(pow(num1, num2)) # Выведет 8
Деление выполняется с помощью оператора “/”. Пример:
a = 4 / 2 print(a) # Выведет 2
Для получения остатка от деления используется оператор “%”. Пример:
a = 5 % 2 print(a) # Выведет 1
Целочисленное деление выполняется с помощью оператора “//”. Пример:
a = 5 // 2 print(a) # Выведет 2
Округление чисел с плавающей точкой
Для округления float-чисел до ближайшего целого числа используется функция round(). Рассмотрим на примере:
num1 = 1.4 num2 = 1.6 print(round(num1)) # Выведет 1 print(round(num2)) # Выведет 2
Получение модуля числа
Для получения модуля любого числа мы можем использовать функцию abs(). Рассмотрим на примере:
num1 = -2 num2 = 3 print(abs(num1)) # Выведет 2 print(abs(num2)) # Выведет 3
Вывод
Мы разобрали функции для работы с числами в Python и научились ими пользоваться. Надеюсь, эта статья оказалась для вас полезной. Удачи в ваших начинаниях!