Logo
Книга для начинающих
ВходРегистрация
/
Программирование
/
Курс Python
/

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

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

На базовом уровне компьютеры работают только с числами. Даже если вы пишете сложное приложение на современном языке программирования, внутри него всегда происходят многочисленные вычисления: сложение, вычитание, деление и т.д.

Счетные палочки

К счастью, чтобы начать программировать, достаточно знать обычную школьную арифметику. С нее мы и начнем.

Сложение в Python

В математике для сложения мы пишем 3 + 4. В Python все точно так же:

3 + 4

Этот код действительно можно запустить: интерпретатор выполнит вычисление. Но... он не сделает с результатом ничего. То есть 7 получится, но вы его не увидите.

Чтобы увидеть результат, нужно его вывести

В реальной программе просто посчитать значение недостаточно. Нужно сделать что-то с результатом, например, показать его пользователю.

Для этого используем мы используем уже привычную команду print(), которую в дальнейшем будем называть функцией:

print(3 + 4)

Здесь сначала вычисляется сумма, затем она передается в функцию печати.

print(3 + 4)
      └─┬─┘
        7

print(7)  →  7

Результат выполнения:

7

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

print('3 + 4') # выводит: 3 + 4
print(3 + 4)    # выводит: 7

Другие арифметические операции

Python поддерживает все привычные операции + несколько специфичных, связанных с тем, как хранятся и обрабатываются числа на компьютере:

ОперацияСимволПримерРезультат
Сложение+2 + 35
Вычитание-7 - 25
Умножение*4 * 312
Деление/8 / 24.0
Возведение в степень**3 ** 29
Целочисленное деление//7 // 32
Остаток от деления%7 % 31

Вот как можно вывести результат деления и возведения в степень:

print(8 / 2)    # => 4.0
print(3 ** 2)   # => 9

Числа с плавающей точкой

Помимо целых чисел в Python есть числа с плавающей точкой, которые используются для работы с дробями. Такие числа записываются через точку:

print(3.5 + 1.2)   # => 4.7
print(10 / 4)      # => 2.5

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

print(8 / 2)   # => 4.0
print(7 / 2)   # => 3.5

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

Причина выделения этого в отдельный тип: компьютеру нужно хранить целые значения и дробные значения по-разному. Для целых он выделяет одни структуры в памяти, для дробных выделяет другие. Поэтому в Python, как и в других языках программирования, существует два разных вида чисел: int (целые) и float (с плавающей точкой).

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

Что такое остаток от деления (%)

Эта операция называется взятие остатка от деления. Она показывает, что "остается", когда одно число делится на другое не полностью. Пример:

print(7 % 3)  # => 1

Почему результат равен 1?

  • 7 делится на 3 дважды: 3 * 2 = 6
  • До 7 остается 1, и это является остатком.

Другие примеры:

print(10 % 4)  # => 2 (10 делится на 4 дважды: 4 * 2 = 8, остаток 2)
print(15 % 5)  # => 0 (делится без остатка)

Операция % часто используется в программировании, например:

  • чтобы проверить, делится ли число нацело (если остаток 0)
  • чтобы выполнять циклические действия, например, поведение по четным/нечетным индексам

Мы еще неоднократно встретим % в задачах и разберем его применение на практике.

Оформление арифметических выражений

С точки зрения Python между 3+4 и 3 + 4 нет разницы. Интерпретатор поймет оба варианта одинаково и в обоих случаях выполнит сложение. Разница только в оформлении кода. В программировании принято ставить пробелы вокруг арифметических операторов, потому что так выражения проще читать:

3 + 4
8 / 2
7 % 3

Вариант без пробелов тоже работает:

3+4
8/2
7%3

Но такой код выглядит менее аккуратно и его сложнее быстро воспринимать. Поэтому лучше сразу привыкать писать с пробелами вокруг операторов.

Задание

Вы зашли в оптовый магазин и увидели упаковку из 9 батареек за 81 рубль. В обычном магазине одна батарейка стоит 12 рублей. Рассчитайте и выведите цену одной батарейки в оптовой упаковке, чтобы понять, где выгоднее покупать.

Коммерческий опыт и Трудоустройство

Полезное

  • Всегда отбивайте арифметические операторы пробелами от самих чисел (операндов) – это хороший стиль программирования. Поэтому в наших примерах print(3 + 4), а не print(3+4).

  • Деление на ноль — порождает ошибку.

  • Деление с остатком

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
/
Программирование
/
Курс Python
/

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

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

На базовом уровне компьютеры работают только с числами. Даже если вы пишете сложное приложение на современном языке программирования, внутри него всегда происходят многочисленные вычисления: сложение, вычитание, деление и т.д.

Счетные палочки

К счастью, чтобы начать программировать, достаточно знать обычную школьную арифметику. С нее мы и начнем.

Сложение в Python

В математике для сложения мы пишем 3 + 4. В Python все точно так же:

3 + 4

Этот код действительно можно запустить: интерпретатор выполнит вычисление. Но... он не сделает с результатом ничего. То есть 7 получится, но вы его не увидите.

Чтобы увидеть результат, нужно его вывести

В реальной программе просто посчитать значение недостаточно. Нужно сделать что-то с результатом, например, показать его пользователю.

Для этого используем мы используем уже привычную команду print(), которую в дальнейшем будем называть функцией:

print(3 + 4)

Здесь сначала вычисляется сумма, затем она передается в функцию печати.

print(3 + 4)
      └─┬─┘
        7

print(7)  →  7

Результат выполнения:

7

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

print('3 + 4') # выводит: 3 + 4
print(3 + 4)    # выводит: 7

Другие арифметические операции

Python поддерживает все привычные операции + несколько специфичных, связанных с тем, как хранятся и обрабатываются числа на компьютере:

ОперацияСимволПримерРезультат
Сложение+2 + 35
Вычитание-7 - 25
Умножение*4 * 312
Деление/8 / 24.0
Возведение в степень**3 ** 29
Целочисленное деление//7 // 32
Остаток от деления%7 % 31

Вот как можно вывести результат деления и возведения в степень:

print(8 / 2)    # => 4.0
print(3 ** 2)   # => 9

Числа с плавающей точкой

Помимо целых чисел в Python есть числа с плавающей точкой, которые используются для работы с дробями. Такие числа записываются через точку:

print(3.5 + 1.2)   # => 4.7
print(10 / 4)      # => 2.5

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

print(8 / 2)   # => 4.0
print(7 / 2)   # => 3.5

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

Причина выделения этого в отдельный тип: компьютеру нужно хранить целые значения и дробные значения по-разному. Для целых он выделяет одни структуры в памяти, для дробных выделяет другие. Поэтому в Python, как и в других языках программирования, существует два разных вида чисел: int (целые) и float (с плавающей точкой).

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

Что такое остаток от деления (%)

Эта операция называется взятие остатка от деления. Она показывает, что "остается", когда одно число делится на другое не полностью. Пример:

print(7 % 3)  # => 1

Почему результат равен 1?

  • 7 делится на 3 дважды: 3 * 2 = 6
  • До 7 остается 1, и это является остатком.

Другие примеры:

print(10 % 4)  # => 2 (10 делится на 4 дважды: 4 * 2 = 8, остаток 2)
print(15 % 5)  # => 0 (делится без остатка)

Операция % часто используется в программировании, например:

  • чтобы проверить, делится ли число нацело (если остаток 0)
  • чтобы выполнять циклические действия, например, поведение по четным/нечетным индексам

Мы еще неоднократно встретим % в задачах и разберем его применение на практике.

Оформление арифметических выражений

С точки зрения Python между 3+4 и 3 + 4 нет разницы. Интерпретатор поймет оба варианта одинаково и в обоих случаях выполнит сложение. Разница только в оформлении кода. В программировании принято ставить пробелы вокруг арифметических операторов, потому что так выражения проще читать:

3 + 4
8 / 2
7 % 3

Вариант без пробелов тоже работает:

3+4
8/2
7%3

Но такой код выглядит менее аккуратно и его сложнее быстро воспринимать. Поэтому лучше сразу привыкать писать с пробелами вокруг операторов.

Задание

Вы зашли в оптовый магазин и увидели упаковку из 9 батареек за 81 рубль. В обычном магазине одна батарейка стоит 12 рублей. Рассчитайте и выведите цену одной батарейки в оптовой упаковке, чтобы понять, где выгоднее покупать.

Коммерческий опыт и Трудоустройство

Полезное

  • Всегда отбивайте арифметические операторы пробелами от самих чисел (операндов) – это хороший стиль программирования. Поэтому в наших примерах print(3 + 4), а не print(3+4).

  • Деление на ноль — порождает ошибку.

  • Деление с остатком

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
← ПредыдущийСледующий →
← ПредыдущийСледующий →
← ПредыдущийСледующий →

Ваше упражнение проверяется по этим тестам

import importlib


def test(capsys):
    expected = "9.0"
    expect_output(capsys, expected)


def expect_output(capsys, expected):
    importlib.import_module('solution')
    out, _err = capsys.readouterr()
    actual = out.strip('\n')

    with capsys.disabled():
        print('\n')
        print(out)

    assert actual == expected
← ПредыдущийСледующий →

Решение учителя откроется через:

20:00

waiting_clock
← ПредыдущийСледующий →