Задачник · модуль 1 · Данные и имена

Справочник по Python · задачник · модуль 1

Задачи 1.3

1.3

Задачи к главе
«Функция print()»

Результат должен читаться человеком: с подписями, единицами измерения и аккуратными числами. Здесь тренируем f-строки, формат .2f и выбор между запятой и подстановкой.

Глава справочника
1.3 Функция print(): вывод данных
Можно использовать
главы 1.1–1.3
Разборов
3 с решением
Практика
15 задач без решения
Уже изучено — этим и решаем

Ввода с клавиатуры пока нет — он появится в главе 1.5. Поэтому исходные данные записываются в первые строки программы, а решение проверяется так: меняем данные наверху и запускаем снова. Параметры sep и end — в следующей главе 1.4.

§1Разборы: как решать и оформлять

Три задачи решены полностью. Смотрите не только на ответ, но и на оформление: исходные данные сверху, расчёт отдельными строками с понятными именами, вывод — в конце.

Разбор 1

Строка чека

★☆☆базовая

Касса печатает строку чека: название позиции, количество и сумму. Составьте строку так, чтобы текст и числа шли вперемешку, как в чеке.

Как рассуждаем

  1. Сумма — отдельная величина: считаем её в переменную total до вывода.
  2. Текст и значения перемешаны плотно, со знаком × и словом «руб.». Через запятую пришлось бы следить за пробелами — берём f-строку.
  3. Внутри фигурных скобок — только имена готовых значений; расчёт не прячем в строку вывода.
main.pyрешение
# Исходные данные
item = "Капучино"
price = 180   # цена одной порции, руб.
qty = 2       # количество порций

# Расчёт
total = price * qty

# Вывод
print(f"{item} × {qty} = {total} руб.")
Вывод в терминалрезультат запуска
Капучино × 2 = 360 руб.

Проверка на других данных

Пример 1
Данные в начале программы
item = "Круассан"
price = 95
qty = 3
Вывод
Круассан × 3 = 285 руб.
Та же строка через запятые

print(item, "×", qty, "=", total, "руб.") напечатает то же самое. Но f-строку читать проще: видна вся строка чека целиком, как она выйдет на ленту.

Разбор 2

Средний чек за день

★★☆средняя

Известны выручка кафе за день и количество заказов. Выведите средний чек сначала как есть, а затем в денежном виде — с двумя знаками после точки.

Как рассуждаем

  1. Средний чек = выручка / количество заказов. Деление даёт дробное число, часто с длинным хвостом.
  2. Для денег нужен вид «рубли.копейки»: формат :.2f внутри f-строки показывает ровно два знака.
  3. Формат меняет только вид при выводе — в переменной average остаётся полное значение.
main.pyрешение
# Исходные данные
revenue = 1250   # выручка за день, руб.
orders = 6       # количество заказов

# Расчёт
average = revenue / orders

# Вывод
print("Без форматирования:", average)
print(f"Средний чек: {average:.2f} руб.")
Вывод в терминалрезультат запуска
Без форматирования: 208.33333333333334
Средний чек: 208.33 руб.

Проверка на других данных

Пример 1
Данные в начале программы
revenue = 900
orders = 4
Вывод
Без форматирования: 225.0
Средний чек: 225.00 руб.
Нули тоже дописываются

Во втором примере среднее — ровно 225.0, а с форматом получается 225.00. Для цен это удобно: все суммы в отчёте выглядят одинаково.

Разбор 3

Карточка участника

★★☆средняя

На конференции печатают карточки участников: заголовок, пустая строка, затем имя, компания и номер места.

Как рассуждаем

  1. Пустую строку даёт вызов print() без аргументов — так блоки вывода отделяются друг от друга.
  2. Для строк «подпись: значение» хватает запятой: пробел после двоеточия поставится сам.
  3. Где текст с данными сплетён плотнее — «ряд 5, место 12» — удобнее f-строка.
main.pyрешение
# Исходные данные
name = "Анна Смирнова"
company = "ТехноСфера"
row = 5
seat = 12

# Вывод
print("УЧАСТНИК КОНФЕРЕНЦИИ")
print()
print("Имя:", name)
print("Компания:", company)
print(f"Место: ряд {row}, кресло {seat}")
Вывод в терминалрезультат запуска
УЧАСТНИК КОНФЕРЕНЦИИ

Имя: Анна Смирнова
Компания: ТехноСфера
Место: ряд 5, кресло 12
Запятая, f-строка или плюс

Запятая — для пары «подпись и значение». F-строка — когда текст и данные перемешаны. Плюс "Место: " + row здесь упал бы с TypeError: число к строке не прибавляется.

§2Задачи для самостоятельной работы

Решений здесь нет — только условие и примеры, на которых решение нужно проверить. Сложность отмечена звёздами: ★☆☆ — прямое применение главы, ★★☆ — нужно собрать несколько шагов, ★★★ — есть подвох или требуется догадка.

Задача 1.3.1

Приветствие в приложении

★☆☆базовая

Приложение знает имя пользователя и город. Выведите приветствие и строку о длине имени, как в примерах.

Примеры для проверки

Пример 1
Данные в начале программы
name = "Анна"
city = "Казань"
Вывод
Здравствуйте, Анна! Ваш город: Казань.
В имени 4 букв(ы).
Пример 2
Данные в начале программы
name = "Константин"
city = "Тверь"
Вывод
Здравствуйте, Константин! Ваш город: Тверь.
В имени 10 букв(ы).
Подсказка

Внутри фигурных скобок f-строки можно вызвать функцию, например len().

Задача 1.3.2

Стоимость топлива

★☆☆базовая

Известны расстояние, расход (сколько километров машина проезжает на литре) и цена литра. Выведите стоимость топлива с копейками.

Примеры для проверки

Пример 1
Данные в начале программы
distance = 500
fuel_efficiency = 12
fuel_price = 45.5
Вывод
Топливо: 1895.83 руб.
Пример 2
Данные в начале программы
distance = 120
fuel_efficiency = 12
fuel_price = 45.5
Вывод
Топливо: 455.00 руб.
Подсказка

Литров нужно: расстояние / расход. Для копеек — формат :.2f.

Задача 1.3.3

Электронная визитка

★☆☆базовая

Даны имя, должность и телефон. Выведите визитку из трёх строк, как в примерах.

Примеры для проверки

Пример 1
Данные в начале программы
name = "Ирина Волкова"
position = "дизайнер"
phone = "+7 900 123-45-67"
Вывод
Ирина Волкова
Должность: дизайнер
Телефон: +7 900 123-45-67
Пример 2
Данные в начале программы
name = "Павел Орлов"
position = "инженер"
phone = "8 (812) 555-01-02"
Вывод
Павел Орлов
Должность: инженер
Телефон: 8 (812) 555-01-02
Подсказка

По одной f-строке на строку визитки.

Задача 1.3.4

Заряд батареи

★☆☆базовая

Батарея ёмкостью в некоторое число ампер-часов заряжена частично. Выведите заряд в процентах с двумя знаками.

Примеры для проверки

Пример 1
Данные в начале программы
charged = 37
capacity = 50
Вывод
Заряд: 74.00%
Пример 2
Данные в начале программы
charged = 2
capacity = 3
Вывод
Заряд: 66.67%
Подсказка

Процент = часть / целое × 100. Знак % в f-строке пишется просто после фигурной скобки.

Задача 1.3.5

Обмен валюты

★☆☆базовая

Турист меняет рубли на доллары. Даны сумма в рублях и курс — сколько рублей стоит один доллар. Выведите, сколько долларов он получит, с центами.

Примеры для проверки

Пример 1
Данные в начале программы
rubles = 10000
rate = 92.35
Вывод
10000 руб. = 108.28 $
Пример 2
Данные в начале программы
rubles = 500
rate = 100
Вывод
500 руб. = 5.00 $
Подсказка

Рубли делятся на курс. Центы — это два знака после точки.

Задача 1.3.6

Цена со скидкой

★★☆средняя

Товар стоит некоторую сумму, на него действует скидка в процентах. Выведите размер скидки и итоговую цену — обе суммы с двумя знаками после точки.

Примеры для проверки

Пример 1
Данные в начале программы
price = 1999
discount = 15
Вывод
Скидка: 299.85 руб.
К оплате: 1699.15 руб.
Пример 2
Данные в начале программы
price = 500
discount = 10
Вывод
Скидка: 50.00 руб.
К оплате: 450.00 руб.
Подсказка

Скидка в рублях = цена × процент / 100. Посчитайте её отдельно — она нужна и в выводе, и в итоговой цене.

Задача 1.3.7

Площадь круглой клумбы

★★☆средняя

Ландшафтный дизайнер знает радиус клумбы в метрах. Выведите её площадь с двумя знаками после точки. Число π возьмите равным 3.14159.

Примеры для проверки

Пример 1
Данные в начале программы
radius = 3
Вывод
Клумба радиусом 3 м: 28.27 кв. м
Пример 2
Данные в начале программы
radius = 10
Вывод
Клумба радиусом 10 м: 314.16 кв. м
Подсказка

Площадь круга — π × r². Степень в Python записывается через **.

Задача 1.3.8

Дневной отчёт интернет-магазина

★★☆средняя

Известно число посетителей сайта и число заказов за день. Выведите отчёт: заголовок, пустую строку, посетителей, заказы и конверсию — долю заказов в процентах с двумя знаками.

Примеры для проверки

Пример 1
Данные в начале программы
visitors = 120
orders = 18
Вывод
Отчёт за день

Посетителей: 120
Заказов: 18
Конверсия: 15.00%
Пример 2
Данные в начале программы
visitors = 250
orders = 7
Вывод
Отчёт за день

Посетителей: 250
Заказов: 7
Конверсия: 2.80%
Подсказка

Конверсия = заказы / посетители × 100. Пустая строка — отдельный print().

Задача 1.3.9

Коммунальные платежи

★★☆средняя

Даны суммы за воду, электричество и газ. Выведите каждую строку квитанции и итог — все суммы с двумя знаками.

Примеры для проверки

Пример 1
Данные в начале программы
water = 512.4
power = 1170
gas = 345.75
Вывод
Вода: 512.40 руб.
Электричество: 1170.00 руб.
Газ: 345.75 руб.
Итого: 2028.15 руб.
Пример 2
Данные в начале программы
water = 300
power = 800.5
gas = 0
Вывод
Вода: 300.00 руб.
Электричество: 800.50 руб.
Газ: 0.00 руб.
Итого: 1100.50 руб.
Подсказка

Формат :.2f работает и с целыми числами — допишет .00.

Задача 1.3.10

Скорость печати

★★☆средняя

За тренировку набрано некоторое число символов за несколько минут. Выведите скорость в символах в минуту и в символах в секунду — обе с двумя знаками.

Примеры для проверки

Пример 1
Данные в начале программы
symbols = 1250
minutes = 5
Вывод
В минуту: 250.00
В секунду: 4.17
Пример 2
Данные в начале программы
symbols = 900
minutes = 4
Вывод
В минуту: 225.00
В секунду: 3.75
Подсказка

Скорость в секунду удобно считать от скорости в минуту.

Задача 1.3.11

Расход топлива по чеку

★★☆средняя

Водитель проехал некоторое расстояние и заправил столько-то литров. Выведите расход на 100 км с двумя знаками.

Примеры для проверки

Пример 1
Данные в начале программы
km = 430
liters = 31.6
Вывод
Расход: 7.35 л на 100 км
Пример 2
Данные в начале программы
km = 250
liters = 20
Вывод
Расход: 8.00 л на 100 км
Подсказка

Сначала литры на один километр, потом умножение на 100.

Задача 1.3.12

Письмо о заказе

★★☆средняя

Магазин отправляет письмо: приветствие по имени, пустая строка, номер заказа и сумма с двумя знаками, пустая строка и подпись.

Примеры для проверки

Пример 1
Данные в начале программы
name = "Мария"
order_id = 58213
total = 2499.9
Вывод
Здравствуйте, Мария!

Ваш заказ №58213 принят.
Сумма к оплате: 2499.90 руб.

С уважением, команда магазина
Пример 2
Данные в начале программы
name = "Олег"
order_id = 7
total = 150
Вывод
Здравствуйте, Олег!

Ваш заказ №7 принят.
Сумма к оплате: 150.00 руб.

С уважением, команда магазина
Подсказка

Пустая строка — print() без аргументов.

Задача 1.3.13

Исправьте программу менеджера

★★★повышенная

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

main.pyдано — с ошибками
product = "Ноутбук"
price = 54990
print("Товар: " + product)
print("Цена: " + price + " руб.")
print("С доставкой: {price + 500} руб.")

Примеры для проверки

Пример 1
Данные в начале программы
product = "Ноутбук"
price = 54990
Вывод
Товар: Ноутбук
Цена: 54990 руб.
С доставкой: 55490 руб.
Пример 2
Данные в начале программы
product = "Мышь"
price = 1290
Вывод
Товар: Мышь
Цена: 1290 руб.
С доставкой: 1790 руб.
Подсказка

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

Задача 1.3.14

Чек из трёх позиций

★★★повышенная

Даны три позиции чека: название, цена и количество каждой. Выведите по строке на позицию в формате «Название: количество × цена = сумма руб.», а в конце — итог.

Примеры для проверки

Пример 1
Данные в начале программы
item1 = "Хлеб"
price1 = 45
qty1 = 2
item2 = "Молоко"
price2 = 89
qty2 = 1
item3 = "Яблоки"
price3 = 120
qty3 = 3
Вывод
Хлеб: 2 × 45 = 90 руб.
Молоко: 1 × 89 = 89 руб.
Яблоки: 3 × 120 = 360 руб.
Итого: 539 руб.
Подсказка

Сумму каждой позиции посчитайте отдельно — она нужна и в строке позиции, и в итоге.

Задача 1.3.15

Исправьте отчёт аналитика

★★★повышенная

Программа должна печатать отчёт о посещаемости, но в ней три ошибки. Исправьте их, чтобы вывод совпал с примерами.

main.pyдано — с ошибками
visits = 350
buyers = 14
print("Посетители: " + visits)
print(f"Покупатели: buyers")
print(f"Конверсия: {buyers / visits * 100}.2f%")

Примеры для проверки

Пример 1
Данные в начале программы
visits = 350
buyers = 14
Вывод
Посетители: 350
Покупатели: 14
Конверсия: 4.00%
Пример 2
Данные в начале программы
visits = 1000
buyers = 37
Вывод
Посетители: 1000
Покупатели: 37
Конверсия: 3.70%
Подсказка

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

§3Как проверить своё решение

  1. Запишите данные из колонки «Данные в начале программы» в первые строки решения.
  2. Запустите программу и сравните вывод с колонкой «Вывод» — символ в символ: пробелы, двоеточия, точка вместо запятой.
  3. Замените данные на значения из следующего примера и запустите ещё раз. Решение верное, если при любых данных менять приходится только верхние строки.
Оформление, которое проверяют

Имена переменных называют смысл: total_cost, а не x. Данные — вверху, расчёт — отдельными строками, вывод — в конце. Одно и то же выражение не повторяется: результат сохраняется в переменную и дальше используется по имени.

Задачи к главе 1.3 · Функция print() · Задачник по Python Автор: Макаров Максим Николаевич