РАЗБИРАЕМ ПО ШАГАМ
От идеи к работающему коду
Python умеет вычислять стоимость, среднее значение и остатки. Важно отличать текст "12" от числа 12: внешне они похожи, но операции над ними работают по-разному. Напишем основу небольшого калькулятора.
Сразу к запуску примера ↓
- 1Текст из input
- 2Преобразование в число
- 3Вычисление и вывод
1. int, float и преобразование ввода
int — тип целых чисел: 0, 12, -3. float — числа с плавающей точкой: 2.5, -0.75. В коде дробная часть отделяется точкой. Строки содержат символы и не становятся числами автоматически.
int(input()) сначала читает строку, затем преобразует её в целое число. Для дробной цены используй float(input()). Текст вроде "двенадцать" не преобразуется: возникнет ValueError. Сейчас считаем, что пользователь вводит корректные числа.
print("12" + "3")print(12 + 3)price = float(input())print(price * 2)2. Основные операции и скобки
Операторы +, -, *, / означают сложение, вычитание, умножение и деление. Степень записывается через **. Обычное деление / возвращает float: 10 / 2 даст 5.0.
Умножение и деление выполняются раньше сложения и вычитания. Скобки меняют порядок. Среднее двух чисел — (a + b) / 2, а не a + b / 2.
print(7 * 12)print((2308 + 13) / 2)print(2 ** 3)3. Полные группы и остаток
Оператор // делит с округлением вниз, а % возвращает остаток. Для положительных целых это удобно читать как количество полных групп и количество оставшихся предметов.
Для 17 и 5: 17 // 5 равно 3, 17 % 5 равно 2. Проверка: 3 * 5 + 2 = 17. Для отрицательных чисел округление идёт к меньшему целому: -7 // 3 равно -3, поэтому правило «просто отбросить дробь» не всегда верно.
items = 17box_size = 5print(items // box_size)print(items % box_size)4. Формат вывода не меняет исходное число
В f-строке запись :.2f показывает число с двумя знаками после точки. Это формат представления результата. Он удобен для учебного чека и таблиц.
float хранит приближённые значения: некоторые десятичные дроби нельзя представить точно. Форматирование делает вывод аккуратным, но не превращает float в точный финансовый тип. Для настоящих денежных расчётов изучают Decimal или целые копейки.
price = 12.5quantity = 7total = price * quantityprint(f"Итого: {total:.2f}")Где легко ошибиться
- Не складывай строки вместо чисел: "7" + "12" даст "712".
- Для среднего нужны скобки вокруг суммы.
- Деление на ноль вызывает ZeroDivisionError.
Проверь понимание: Что отличается в 17 / 5, 17 // 5 и 17 % 5?
Результаты: 3.4, 3 и 2. Это обычное деление, деление с округлением вниз и остаток.
