JustCaptain kod-buduschego
d74c54749a2a9fa8a89ba4fb24a1b4af61cc19bc
Перейти к файлу
Код
kod-buduschego Python 2025-20262.2. Кортежиpracticeschatgpttask.md
anc update c70a58f 8 октября 2026 г.
task.md

Практическая задача: Учёт заказов в интернет-магазине (кортежи)

⸻

Задача: Учёт заказов клиентов

Описание ситуации

Есть интернет-магазин.
Каждый заказ хранится как кортеж, содержащий фиксированный набор данных.

Структура заказа:

(id_заказа, имя_клиента, сумма_заказа, город)

Пример одного заказа:

order = (1001, "Иван", 2500, "Москва")

Все заказы хранятся внутри общего кортежа orders.

Пример:

orders = (
(1001, "Иван", 2500, "Москва"),
(1002, "Анна", 4200, "Казань"),
(1003, "Петр", 1800, "Москва"),
(1004, "Ольга", 5600, "Самара"),
(1005, "Мария", 3100, "Москва")
)

⸻

Цель работы

Отработать:
• индексацию кортежей
• вложенные кортежи
• перебор кортежей
• распаковку кортежей
• методы count() и index()
• работу с неизменяемыми структурами

⸻

Задание 1 — Вывести все заказы

Вывести все заказы в формате:

ID: 1001 | Клиент: Иван | Сумма: 2500 | Город: Москва

Подсказка:

Использовать:

for order in orders:

Распаковка:

order_id, name, amount, city = order

⸻

Задание 2 — Найти общий доход магазина

Найти сумму всех заказов.

Ожидаемый результат:

Общий доход: 17200

Подсказка:
• пройти циклом
• сложить все суммы заказов

⸻

Задание 3 — Найти самый дорогой заказ

Вывести заказ с максимальной суммой.

Формат вывода:

Самый дорогой заказ:
ID: XXXX | Клиент: XXXX | Сумма: XXXX

Подсказка:

Использовать:

max_amount = 0

⸻

Задание 4 — Подсчитать количество заказов из Москвы

Найти сколько заказов сделано из города Москва.

Ожидаемый результат:

Количество заказов из Москвы: 3

Подсказка:

Проверка:

if city == "Москва":

⸻

Задание 5 — Найти заказ по ID

Найти заказ с id = 1003.

Вывести:

Найден заказ:
(1003, "Петр", 1800, "Москва")

Подсказка:

Проверка:

if order_id == 1003:

⸻

Задание 6 — Создать список только сумм заказов

Извлечь все суммы заказов в новый кортеж:

Ожидаемый результат:

(2500, 4200, 1800, 5600, 3100)

Подсказка:

Создать новый кортеж через накопление.

⸻

Задание 7 — Найти средний чек

Найти среднюю сумму заказа.

Формула:

средний чек = сумма всех заказов / количество заказов

Ожидаемый результат:

Средний чек: 3440.0

⸻

Задание 8 — Вывести заказы дороже 3000

Вывести только те заказы, где сумма больше 3000.

Формат:

(1002, "Анна", 4200, "Казань")
(1004, "Ольга", 5600, "Самара")
(1005, "Мария", 3100, "Москва")

⸻

Задание 9 — Создать новый заказ

Создать новый заказ:

new_order = (1006, "Сергей", 2700, "Томск")

Добавить его в orders.

Подсказка:

Кортежи неизменяемые — нужно создать новый кортеж:

orders = orders + (new_order,)

⸻

Задание 10 — Найти все города без повторений

Вывести уникальные города из заказов.

Ожидаемый результат:

Москва
Казань
Самара

Подсказка:

Использовать:

set()

⸻

Дополнительное задание (повышенной сложности)

Создать функцию:

def get_orders_by_city(orders, city_name):

Функция должна:
• принимать кортеж заказов
• возвращать кортеж заказов только из указанного города

Пример вызова:

moscow_orders = get_orders_by_city(orders, "Москва")

Ожидаемый результат:

(
(1001, "Иван", 2500, "Москва"),
(1003, "Петр", 1800, "Москва"),
(1005, "Мария", 3100, "Москва")
)

⸻

Что отрабатывается в задаче
• вложенные кортежи
• распаковка
• перебор структур
• создание новых кортежей
• неизменяемость
• работа с бизнес-данными
• базовая аналитика данных

⸻

Рекомендуемая структура решения

orders = (
(1001, "Иван", 2500, "Москва"),
(1002, "Анна", 4200, "Казань"),
(1003, "Петр", 1800, "Москва"),
(1004, "Ольга", 5600, "Самара"),
(1005, "Мария", 3100, "Москва")
)

Решение заданий ниже#