Python: Операторы

В математике и программировании мы часто используем знаки операций, такие как +, -, * и другие. В программировании такие знаки называются операторами.

  • Оператор — это символ или слово, которое обозначает действие.
  • Операнды — это значения, к которым применяется оператор.

Пример:

print(8 + 2)

Здесь:

  • - — это оператор
  • 8 и 2 — это операнды
  • результат — 10

Бинарные операторы

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

Унарные операторы

Существуют и унарные операции — они работают с одним операндом. Пример:

print(-3)  # => -3

В этом случае - — унарный оператор, а 3 — операнд. Интерпретатор получает команду: «возьми число 3 и измени его знак». Важно понимать: -3 — это не "отрицательное число как единое целое", а выражение, где - — оператор, а 3 — значение.

Ошибки при вычислениях и парсинге

Если воспринимать -3 как единое число, можно не заметить, что - — это активный оператор. Например:

print(-3**2)

Кажется, что (-3) в квадрате даст 9, но результат будет -9. Почему? Потому что -3**2 = -(3**2) = -9, а не (-3)**2. Понимание того, что - — это отдельная операция, помогает избежать таких ошибок.

Задание

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

Полезное

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

Определения

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

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

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

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

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

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

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

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

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

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

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

Привет! Я Тота и моя задача помочь в обучении. Чтобы активировать меня, нужно зарегистрироваться или залогиниться, если у вас уже есть аккаунт

Loading...

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

1from hexlet.test import expect_output
2
3
4def test(capsys):
5    expected = "87"
6    expect_output(capsys, expected)
7

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

20:00
waiting_clock