Перейти к содержанию

Урок 001: значения, переменные и вычисления

Цель

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

Значения и типы

Python обрабатывает значения разных типов:

product_name = "Кабель"   # str — строка
unit_price = 125.50       # float — число с дробной частью
quantity = 4              # int — целое число
in_stock = True           # bool — истина или ложь

Переменная — имя, связанное со значением. Оператор = выполняет присваивание: сначала вычисляется правая часть, затем результат сохраняется под именем слева. Это не математическое равенство.

Хорошее имя объясняет роль данных: unit_price понятнее, чем x. В Python принято использовать строчные слова через подчёркивание.

Арифметика

Основные операторы:

Оператор Значение Пример
+ сложение subtotal + delivery
- вычитание subtotal - discount
* умножение unit_price * quantity
/ обычное деление discount_percent / 100
// целая часть деления items // boxes
% остаток items % boxes
** степень side ** 2

Программа расчёта:

product_name = "Кабель"
unit_price = 125.50
quantity = 4

subtotal = unit_price * quantity

print(f"Позиция: {product_name}")
print(f"Количество: {quantity}")
print(f"Сумма: {subtotal:.2f} руб.")

Ожидаемый вывод:

Позиция: Кабель
Количество: 4
Сумма: 502.00 руб.

Строка с префиксом f позволяет вставлять значения в фигурных скобках. Спецификатор :.2f влияет только на отображение числа: показывает два знака после десятичного разделителя.

Проценты

Чтобы применить скидку 10%, сначала переведите процент в долю:

subtotal = 500
discount_percent = 10
discount = subtotal * discount_percent / 100
total = subtotal - discount

print(f"Скидка: {discount:.2f} руб.")
print(f"Итого: {total:.2f} руб.")

Проверка вручную: 500 × 10 / 100 = 50, затем 500 − 50 = 450. Ручной расчёт создаёт эталон, с которым сравнивается программа.

Типичные ошибки

  • Строка записана без кавычек: product_name = Кабель вызывает NameError.
  • Десятичная часть записана запятой: в коде Python требуется 125.50, а не 125,50.
  • Итог вписан готовым числом и перестаёт меняться вместе с исходными данными.
  • Одно имя используется для разных смыслов, например сначала для цены, затем для суммы.
  • Результат считается правильным только потому, что программа не показала ошибку.

Упражнение

Создайте first_calculation.py для вымышленного устройства стоимостью 840 рублей в количестве 3 штук. Рассчитайте сумму, затем добавьте скидку 5%. До запуска вручную вычислите ожидаемые subtotal, discount и total. После успешной проверки измените только количество на 0 и объясните результат.

Самопроверка

  • Чем = отличается от математического знака равенства?
  • Почему quantity должен быть целым числом?
  • Что изменяет :.2f: само значение или только его представление?
  • Как доказать правильность формулы независимо от программы?

← Модуль 01 · Следующий урок →