Задачи на while + коллекции (списки и словари).
Контекст — бизнес-операции.
3 уровня сложности.
⸻
Уровень 1 — Базовый (while + списки)
Задача 1 — Обработка списка заказов
Описание:
Есть список заказов. Нужно обработать каждый заказ по очереди.
orders = [1200, 3400, 560, 2300, 780]
Требуется:
1. Использовать while
2. Пройти по списку по индексам
3. Вывести сумму каждого заказа
4. Посчитать общую сумму заказов
5. Вывести итоговую сумму
⸻
Задача 2 — Подсчет товаров на складе
Описание:
Есть список остатков товаров.
stock = [5, 12, 7, 3, 9]
Требуется:
1. Использовать while
2. Найти общее количество товаров
3. Найти максимальный остаток
4. Найти минимальный остаток
⸻
Задача 3 — Поиск дорогих товаров
Описание:
Есть список цен товаров.
prices = [1200, 5400, 800, 2300, 7600]
Требуется:
1. Использовать while
2. Найти все товары дороже 3000
3. Сохранить их в новый список
4. Вывести новый список
⸻
Уровень 2 — Средний (изменение коллекций)
Задача 4 — Фильтрация убыточных заказов
Описание:
Есть список прибыли по заказам.
profits = [500, -200, 700, -150, 300]
Требуется:
1. Использовать while
2. Удалить все отрицательные значения
3. Оставить только прибыльные заказы
4. Вывести обновленный список
⸻
Задача 5 — Повышение цен
Описание:
Компания повышает цены на 10%.
prices = [1000, 2500, 3800, 4200]
Требуется:
1. Использовать while
2. Увеличить каждую цену на 10%
3. Изменить список
4. Вывести обновленный список
⸻
Задача 6 — Объединение списков клиентов
Описание:
Есть два списка клиентов.
clients1 = ["Иван", "Мария", "Олег"]
clients2 = ["Анна", "Сергей"]
Требуется:
1. Использовать while
2. Добавить всех клиентов из clients2 в clients1
3. Вывести итоговый список
⸻
Уровень 3 — Продвинутый (while + словари)
Задача 7 — Подсчет выручки по товарам
Описание:
Есть словарь с товарами и количеством продаж.
sales = {
"Ноутбук": 5,
"Мышь": 12,
"Клавиатура": 7
}
prices = {
"Ноутбук": 75000,
"Мышь": 1200,
"Клавиатура": 3500
}
Требуется:
1. Использовать while
2. Получить список ключей
3. Посчитать выручку по каждому товару
4. Посчитать общую выручку
⸻
Задача 8 — Поиск сотрудников с высокой зарплатой
Описание:
Есть словарь зарплат.
salaries = {
"Иван": 70000,
"Мария": 95000,
"Олег": 60000,
"Анна": 110000
}
Требуется:
1. Использовать while
2. Найти сотрудников с зарплатой выше 80000
3. Сохранить их в список
4. Вывести список сотрудников
⸻
Задача 9 — Удаление пустых категорий
Описание:
Есть словарь категорий товаров.
categories = {
"Ноутбуки": 5,
"Мыши": 0,
"Клавиатуры": 3,
"Мониторы": 0
}
Требуется:
1. Использовать while
2. Удалить категории с количеством 0
3. Вывести обновленный словарь
⸻
Дополнительные сложные задачи
Задача 10 — Система учета продаж
Описание:
Есть список продаж за день.
sales = []
Требуется:
1. Использовать while
2. Запрашивать ввод суммы продажи
3. Добавлять значения в список
4. Остановить ввод при 0
5. Посчитать:
• количество продаж
• общую сумму
• среднюю продажу
⸻
Задача 11 — Анализ списка заказов
Описание:
Есть список заказов.
orders = [1200, 5000, 3400, 800, 7600, 2300]
Требуется:
1. Использовать while
2. Разделить заказы на два списка:
• меньше 3000
• больше или равно 3000
Создать:
small_orders = []
big_orders = []
3. Заполнить оба списка
4. Вывести оба списка
⸻
Что тренируют эти задачи
Базовый уровень:
• while + индексы
• обход списка
• поиск min/max
• создание новых списков
Средний уровень:
• изменение элементов списка
• удаление элементов
• объединение коллекций
Продвинутый уровень:
• while + словари
• работа с ключами
• фильтрация данных
• удаление элементов словаря
⸻
Дальше логично сделать:
1. задачи на while + break/continue
2. задачи на while + вложенные циклы
3. задачи на while + несколько коллекций одновременно
4. контрольную работу на while + list + dict на 60 минут