Что делает операция python
Перейти к содержимому

Что делает операция python

  • автор:

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

Что такое оператор и операнды? Это можно объяснить простым примером: 10 + 5 = 15 . В этом выражении 10 и 5 — операнды. Знак + — оператор.

Пусть переменная a = 10 , а переменная b = 5

Оператор Описание Пример
+ Добавление — добавляет левый операнд к правому a + b = 15
Вычитание — вычитает правый операнд из левого a — b = 5
* Умножение — умножает левый операнд на правый a * b = 50
/ Деление — делит левый операнд на правый a / b = 2
% Деление по модулю — делит левый операнд на правый и возвращает остаток. С помощью него, например, можно проверять числа на четность и нечетность. Если левый операнд меньше правого, то результатом будет левый операнд a % b = 0
** Возведение в степень a ** b = 100000
// Целочисленное деление — деление в котором возвращается только целая часть результата. Часть после запятой отбрасывается. 9 // 2 = 4 9.0 // 2.0 = 4.0

Хотите выучить Python на практике?

С нуля и до создания компьютерной игры

Собственный онлайн-тренажер с проверкой практических задач

Что делает операция python

Пусть у нас выполняется следующее выражение:

number = 3 + 4 * 5 ** 2 + 7 print(number) # 110

Здесь начале выполняется возведение в степень (5 ** 2) как операция с большим приоритетом, далее результат умножается на 4 (25 * 4), затем происходит сложение (3 + 100) и далее опять идет сложение (103 + 7).

Чтобы переопределить порядок операций, можно использовать скобки:

number = (3 + 4) * (5 ** 2 + 7) print(number) # 224

Следует отметить, что в арифметических операциях могут принимать участие как целые, так и дробные числа. Если в одной операции участвует целое число (int) и число с плавающей точкой (float), то целое число приводится к типу float.

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

Ряд специальных операций позволяют использовать присвоить результат операции первому операнду:

  • += Присвоение результата сложения
  • -= Присвоение результата вычитания
  • *= Присвоение результата умножения
  • /= Присвоение результата от деления
  • //= Присвоение результата целочисленного деления
  • **= Присвоение степени числа
  • %= Присвоение остатка от деления
number = 10 number += 5 print(number) # 15 number -= 3 print(number) # 12 number *= 4 print(number) # 48

Округление и функция round

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

first_number = 2.0001 second_number = 5 third_number = first_number / second_number print(third_number) # 0.40002000000000004

В данном случае мы ожидаем получить число 0.40002, однако в конце через ряд нулей появляется еще какая-то четверка. Или еще одно выражение:

print(2.0001 + 0.1) # 2.1001000000000003

В случае выше для округления результата мы можем использовать встроенную функцию round() :

first_number = 2.0001 second_number = 0.1 third_number = first_number + second_number print(round(third_number)) # 2

В функцию round() передается число, которое надо округлить. Если в функцию передается одно число, как в примере выше, то оно округляется до целого.

Функция round() также может принимать второе число, которое указывает, сколько знаков после запятой должно содержать получаемое число:

first_number = 2.0001 second_number = 0.1 third_number = first_number + second_number print(round(third_number, 4)) # 2.1001

В данном случае число third_number округляется до 4 знаков после запятой.

Если в функцию передается только одно значение — только округляемое число, оно округляется то ближайшего целого

# округление до целого числа print(round(2.49)) # 2 - округление до ближайшего целого 2 print(round(2.51)) # 3

Однако если округляемая часть равна одинаково удалена от двух целых чисел, то округление идет к ближайшему четному:

print(round(2.5)) # 2 - ближайшее четное print(round(3.5)) # 4 - ближайшее четное

Округление производится до ближайшего кратного 10 в степени минус округляемая часть:

# округление до двух знаков после запятой print(round(2.554, 2)) # 2.55 print(round(2.5551, 2)) # 2.56 print(round(2.554999, 2)) # 2.55 print(round(2.499, 2)) # 2.5

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

# округление до двух знаков после запятой print(round(2.545, 2)) # 2.54 print(round(2.555, 2)) # 2.56 - округление до четного print(round(2.565, 2)) # 2.56 print(round(2.575, 2)) # 2.58 print(round(2.655, 2)) # 2.65 - округление не до четного print(round(2.665, 2)) # 2.67 print(round(2.675, 2)) # 2.67

Подобно о проблеме можно почитать к документации.

Python: Операторы

Знак операции, такой как + , называют оператором. Операторы выполняют операции над определенными значениями, которые называются операндами. Сами операторы — это обычно один или несколько символов. Реже — слово. Подавляющее большинство операторов соответствуют математическим операциям.

print(8 + 2) 

В этом примере + — это оператор, а числа 8 и 2 — это операнды.

Когда мы складываем, у нас есть два операнда: один слева, другой справа от знака + . Операции, которые требуют наличия двух операндов, называются бинарными. Если пропустить хотя бы один операнд, например, 3 + , то программа завершится с синтаксической ошибкой.

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

print(-3) # => -3 

Выше пример применения унарной операции к числу 3 . Оператор минус перед тройкой говорит интерпретатору взять число 3 и найти противоположное, то есть -3 . Это может сбить с толку, потому что -3 — это одновременно и число само по себе, и оператор с операндом. Но у языков программирования такая структура.

Задание

Напишите программу, которая посчитает разность между числами 6 и -81 и выведет ответ на экран.

Упражнение не проходит проверку — что делать? ��

Если вы зашли в тупик, то самое время задать вопрос в «Обсуждениях». Как правильно задать вопрос:

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

В моей среде код работает, а здесь нет ��

Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.

Мой код отличается от решения учителя ��

Это нормально ��, в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи.

В редких случаях бывает, что решение подогнано под тесты, но это видно сразу.

Прочитал урок — ничего не понятно ��

Создавать обучающие материалы, понятные для всех без исключения, довольно сложно. Мы очень стараемся, но всегда есть что улучшать. Если вы встретили материал, который вам непонятен, опишите проблему в «Обсуждениях». Идеально, если вы сформулируете непонятные моменты в виде вопросов. Обычно нам нужно несколько дней для внесения правок.

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

Полезное

  • Всегда отбивайте арифметические операторы пробелами от своих операндов – это хороший стиль программирования.

Определения

  • Арифметическая операция — сложение, вычитание, умножение и деление.
  • Оператор — специальный символ, создающий операцию. Например, + создает операцию сложения.
  • Операнд — объект, который участвует в операции. 3 * 6 : здесь 3 и 6 — операнды.
  • Унарная операция — операция с одним операндом. Например, -3 — унарная операция для получения числа, противоположного числу три.
  • Бинарная операция — операция с двумя операндами. Например, 3 + 9 .

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics

Если вы столкнулись с трудностями и не знаете, что делать, задайте вопрос в нашем большом и дружном сообществе

  • Привет, Мир!
  • Комментарии
  • Инструкции (Statements)
  • Как мы проверяем ваши решения
  • Синтаксические ошибки
  • Арифметические операции
  • Операторы
  • Коммутативная операция
  • Композиция операций
  • Приоритет
  • Числа с плавающей точкой
  • Линтер
  • Кавычки
  • Экранированные последовательности
  • Конкатенация
  • Кодировка
  • Что такое переменная
  • Изменение переменной
  • Выбор имени переменной
  • Ошибки при работе с переменными
  • Выражения в определениях
  • Переменные и конкатенация
  • Именование переменных
  • Магические числа
  • Константы
  • Интерполяция
  • Извлечение символов из строки
  • Срезы строк
  • Multi-line строки
  • Типы данных
  • Сильная (или Строгая) типизация
  • Неизменяемость примитивных типов
  • Явное преобразование типов
  • Функции и их вызов
  • Сигнатура функции
  • Аргументы по умолчанию
  • Вызов функции — выражение
  • Функции с переменным числом параметров
  • Детерминированность
  • Стандартная библиотека
  • Объекты
  • Неизменяемость
  • Методы как выражения
  • Цепочка вызовов
  • Создание (определение) функций
  • Возврат значений
  • Параметры функций
  • Необязательные параметры функций
  • Именованные аргументы
  • Аннотации типов
  • Логический тип
  • Предикаты
  • Комбинирование операций и функций
  • Логические операторы
  • Отрицание
  • Результат логических выражений
  • Условная конструкция (if)
  • Условная конструкция else
  • Конструкция else + if = elif
  • Тернарный оператор
  • Оператор Match
  • Цикл While
  • Агрегация данных (Числа)
  • Агрегация данных (Строки)
  • Обход строк
  • Условия внутри тела цикла
  • Формирование строк в циклах
  • Пограничные случаи
  • Синтаксический сахар
  • Возврат из циклов
  • Цикл For

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

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

Например, для сложения двух чисел в математике мы пишем: 3 + 4 . В программировании — то же самое. Вот программа, которая складывает два числа:

3 + 4 

Арифметика в программировании практически не отличается от школьной арифметики.

Строчка кода 3 + 4 заставит интерпретатор сложить числа и узнать результат. Эта программа будет работать, но в ней нет смысла. По сути, мы не даем команду интерпретатору, мы просто говорим ему: «смотри, сумма трех и четырех». В реальной работе недостаточно сообщать интерпретатору о математическом выражении.

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

Нам нужно попросить интерпретатор сложить 3 + 4 И дать команду сделать что-то с результатом. Например, вывести его на экран:

# Сначала вычисляется сумма, # затем она передается в функцию печати print(3 + 4) 

После запуска на экране появится результат:

Кроме сложения доступны следующие операции:

  • — — вычитание
  • * — умножение
  • ** — возведение в степень
  • / — деление
  • // — целочисленное деление
  • % — остаток от деления

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

print(8 / 2) # => 4.0 (При делении двух чисел получается тип данных float) print(3 ** 2) # => 9 

Иногда для удобства мы будем показывать в комментариях результат запуска строчек кода вот так: => РЕЗУЛЬТАТ . Например, # => 4 .

Первая инструкция выведет на экран 4 (потому что 8 / 2 равно 4), а вторая инструкция выведет на экран 9 (потому что 3 2 равно 9).

Задание

Выведите на экран результат деления числа 81 на 9 .

Упражнение не проходит проверку — что делать? ��

Если вы зашли в тупик, то самое время задать вопрос в «Обсуждениях». Как правильно задать вопрос:

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

В моей среде код работает, а здесь нет ��

Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.

Мой код отличается от решения учителя ��

Это нормально ��, в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи.

В редких случаях бывает, что решение подогнано под тесты, но это видно сразу.

Прочитал урок — ничего не понятно ��

Создавать обучающие материалы, понятные для всех без исключения, довольно сложно. Мы очень стараемся, но всегда есть что улучшать. Если вы встретили материал, который вам непонятен, опишите проблему в «Обсуждениях». Идеально, если вы сформулируете непонятные моменты в виде вопросов. Обычно нам нужно несколько дней для внесения правок.

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

Полезное

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

Определения

  • Инструкция — наименьшая автономная часть языка программирования; команда или набор команд. Программа обычно представляет собой последовательность инструкций.

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics

Если вы столкнулись с трудностями и не знаете, что делать, задайте вопрос в нашем большом и дружном сообществе

  • Привет, Мир!
  • Комментарии
  • Инструкции (Statements)
  • Как мы проверяем ваши решения
  • Синтаксические ошибки
  • Арифметические операции
  • Операторы
  • Коммутативная операция
  • Композиция операций
  • Приоритет
  • Числа с плавающей точкой
  • Линтер
  • Кавычки
  • Экранированные последовательности
  • Конкатенация
  • Кодировка
  • Что такое переменная
  • Изменение переменной
  • Выбор имени переменной
  • Ошибки при работе с переменными
  • Выражения в определениях
  • Переменные и конкатенация
  • Именование переменных
  • Магические числа
  • Константы
  • Интерполяция
  • Извлечение символов из строки
  • Срезы строк
  • Multi-line строки
  • Типы данных
  • Сильная (или Строгая) типизация
  • Неизменяемость примитивных типов
  • Явное преобразование типов
  • Функции и их вызов
  • Сигнатура функции
  • Аргументы по умолчанию
  • Вызов функции — выражение
  • Функции с переменным числом параметров
  • Детерминированность
  • Стандартная библиотека
  • Объекты
  • Неизменяемость
  • Методы как выражения
  • Цепочка вызовов
  • Создание (определение) функций
  • Возврат значений
  • Параметры функций
  • Необязательные параметры функций
  • Именованные аргументы
  • Аннотации типов
  • Логический тип
  • Предикаты
  • Комбинирование операций и функций
  • Логические операторы
  • Отрицание
  • Результат логических выражений
  • Условная конструкция (if)
  • Условная конструкция else
  • Конструкция else + if = elif
  • Тернарный оператор
  • Оператор Match
  • Цикл While
  • Агрегация данных (Числа)
  • Агрегация данных (Строки)
  • Обход строк
  • Условия внутри тела цикла
  • Формирование строк в циклах
  • Пограничные случаи
  • Синтаксический сахар
  • Возврат из циклов
  • Цикл For

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *