Обычные операции типа сложения, вычитания и умножения, работают,
как всегда, результатом действий с типами int всегда будет int.
# Сложение
print('5 + 3 = ', 5 + 3)
# Вычитание
print('20 - 5 = ', 20 - 5)
# Умножение
print('5 * 5 = ', 5 * 5)
# Вывод
# 5 + 3 = 8
# 20 - 5 = 15
# 5 * 5 = 25Деление работает немного иначе, даже если типами являются int то в
результате всегда получим тип float.
# Деление
print('10 / 5 = ', 10 / 5)
print('5 / 3 = ', 5 / 3)
# Деление
# 10 / 5 = 2.0
# 5 / 3 = 1.6666666666666667Два символа ** говорят о возведении в степень:
print('2 ** 2 = ', 2**2)
print('2 ** 3 = ', 2**3)
# Вывод
# 2 ** 2 = 4
# 2 ** 3 = 8Деление без остатка //, указание 2 символов косой черты, указывает
на деление и возвращает целочисленное значение, убирая цифры после
точки.
print('2 // 3 = ', 2//3)
print('3 // 3 = ', 3//3)
print('4 // 3 = ', 4//3)
# Вывод
# 2 // 3 = 0
# 3 // 3 = 1
# 4 // 3 = 1При обычном делении 4 / 3 получим 1.33333 но при делении без остатка,
все после точки откидывается, если делимое равно делителю то ответ 1,
а если делимое меньше делителя то ответ и вовсе 0, в любом случае
ответом всегда будет целочисленный тип int.
Деление по Модулю, остаток от деления %
print('5 % 3 = ', 5%3)
print('10 % 3 = ', 10%3)
print('10 % 3.3 = ', 10%3.3)
# Вывод
# 5 % 3 = 2
# 10 % 3 = 1
# 10 % 3.3 = 0.10000000000000053Эта операция противоположна делению без остатка, она возвращает часть
после точки, игнорируя целую часть, тип ответа может быть int
или float в зависимости от того есть ли среди операндов тип float