/
Программирование
/
Курс Python
/

Выражения в определениях

Python: Выражения в определениях

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

Например, вот такая запись работает:

yuans_count = 50 * 1.25 * 6.91
print(yuans_count)  # => 431.875

Python легко вычислит это выражение. Но человеку читать такой код уже не так удобно. Сразу возникают вопросы:

  • Что означает 1.25?
  • Что означает 6.91?
  • Где заканчивается один шаг вычисления и начинается следующий?

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

Переменные помогают разбивать сложные вычисления на понятные части и сохранять промежуточные результаты.

Конвертация валют через промежуточную валюту

Представим, что нужно перевести евро в юани, но напрямую такой курс нам недоступен. Тогда сделаем это в два шага: евро -> доллары -> юани. Так часто работают банки при оплате покупок за рубежом.

Шаг 1. Евро -> Доллары

Допустим, курс: 1 евро = 1.25 доллара. Хотим перевести 50 евро:

dollars_per_euro = 1.25
dollars_count = 50 * dollars_per_euro
print(dollars_count)  # => 62.5

В этой строке 50 * dollars_per_euro является выражением, а dollars_count представляет собой переменную, в которую записывается результат. Python сначала вычисляет выражение, а уже потом сохраняет результат в переменную.

Интерпретатору все равно, как записано выражение:

dollars_count = 62.5

или

dollars_count = 50 * dollars_per_euro

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

Шаг 2. Доллары -> Юани

Теперь переведем 50 евро в юани, используя доллар как промежуточную валюту. Допустим, курсы валют: 1 доллар = 6.91 юаней, 1 евро = 1.25 долларов.

dollars_per_euro = 1.25
yuans_per_dollar = 6.91

dollars_count = 50 * dollars_per_euro
yuans_count = dollars_count * yuans_per_dollar

print(yuans_count)

Этот код длиннее, чем одна строка 50 * 1.25 * 6.91, но читать его проще:

  • видно, что 1.25 это курс евро к доллару
  • видно, что 6.91 это курс доллара к юаню
  • видно, что dollars_count является промежуточным результатом

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

Что нужно запомнить

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

Задание

Напишите программу, которая берет исходное количество евро, записанное в переменную euros_count, переводит евро в доллары и выводит на экран. Затем полученное значение переводит в юани и выводит на новой строчке.

Пример вывода для 100 евро:

125.0
863.75

Считаем, что:

  • 1 евро = 1.25 долларов
  • 1 доллар = 6.91 юаней

Полезное

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

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