JustCaptain kod-buduschego
d74c54749a2a9fa8a89ba4fb24a1b4af61cc19bc
Перейти к файлу
Код
kod-buduschego Python 2025-20262.9. Случайные числа в Pythonpracticeschatgpt1TASKS.md
anc update c70a58f 8 октября 2026 г.
304 строки 6.8 КБ
TASKS.md

Тема: случайные числа в Python (random), циклы, коллекции
Контекст: бизнес-сценарии с готовыми вводными данными

⸻

Уровень 1 — Лёгкий

Задача 1: Симуляция ежедневных продаж

Контекст

Компания продаёт один тип товара.
Количество продаж каждый день случайное.

Нужно получить данные за неделю и рассчитать итог.

Вводные данные

  • Минимум продаж в день: 5
  • Максимум продаж в день: 20
  • Цена товара: 35 €
  • Период: 7 дней

Задача

Написать программу, которая:

  1. Генерирует случайное количество продаж на каждый день.
  2. Сохраняет продажи в список.
  3. Выводит:
    • продажи по дням
    • общую выручку за неделю
    • среднее количество продаж

Что использовать

  • random.randint()
  • list
  • for

⸻

Задача 2: Генерация случайных заказов

Контекст

Интернет-магазин получает случайное число заказов в день.

Вводные данные

  • Количество дней: 5
  • Количество заказов в день: 1–10
  • Средний чек: 50–150 €

Задача

Для каждого дня:

  1. Сгенерировать случайное число заказов.
  2. Для каждого заказа сгенерировать сумму.
  3. Подсчитать:
    • сумму по каждому дню
    • общую сумму всех заказов

Что использовать

  • вложенные циклы
  • списки

⸻

Уровень 2 — Средний

Задача 3: Анализ склада

Контекст

Компания хранит товары на складе.
Количество товаров поступает случайно.

Вводные данные

Товары:

products = [
"Laptop",
"Mouse",
"Keyboard",
"Monitor",
"Headphones"
]

Параметры:

  • Поставка каждого товара: 10–100 шт
  • Цена товара:

prices = {
"Laptop": 900,
"Mouse": 25,
"Keyboard": 45,
"Monitor": 300,
"Headphones": 80
}

Задача

  1. Для каждого товара:
    • сгенерировать количество
    • сохранить в словарь
  2. Рассчитать:
    • общую стоимость склада
    • самый дорогой товар по общей стоимости

Что использовать

  • dict
  • random.randint
  • цикл for

⸻

Задача 4: Симуляция клиентов

Контекст

Компания получает клиентов случайным образом.

Каждый клиент:

  • делает покупку
  • или уходит без покупки

Вводные данные

  • Клиенты в день: 20
  • Вероятность покупки: 60%
  • Средний чек: 30–120 €

Задача

  1. Для каждого клиента:
    • случайно определить покупку (True/False)
    • если покупка — сгенерировать сумму
  2. Подсчитать:
    • количество покупателей
    • общую выручку
    • процент конверсии

Что использовать

  • random.random()
  • списки
  • условные операторы

⸻

Уровень 3 — Тяжёлый

Задача 5: Симуляция интернет-магазина за месяц

Контекст

Компания продаёт несколько категорий товаров.
Продажи происходят случайно.

Вводные данные

Категории:

categories = {
"Electronics": (100, 1200),
"Clothing": (20, 200),
"Books": (5, 50),
"Home": (30, 400)
}

Описание:

  • ключ — категория
  • значение — диапазон цены

Параметры:

  • Дней: 30
  • Клиентов в день: 10–50

Задача

Для каждого дня:

  1. Сгенерировать клиентов.
  2. Каждый клиент:
    • выбирает случайную категорию
    • покупает товар по случайной цене из диапазона
  3. Сохранить продажи в структуру:

{
day_number: [list_of_orders]
}

Рассчитать:

  • общую выручку за месяц
  • выручку по категориям
  • самый прибыльный день
  • средний чек

Что использовать

  • словари
  • списки
  • вложенные циклы
  • random.choice
  • random.randint

⸻

Задача 6: Прогноз нагрузки на сотрудников (сложная логика)

Контекст

Компания распределяет задачи между сотрудниками.
Количество задач каждый день случайное.

Вводные данные

Сотрудники:

employees = [
"Anna",
"Mark",
"John",
"Sara",
"Leo"
]

Параметры:

  • Дней: 14
  • Задач в день: 5–25
  • Время выполнения задачи: 15–120 минут

Задача

  1. Каждый день:
    • генерировать задачи
    • случайно распределять их между сотрудниками
  2. Сохранить данные:

{
"Anna": [список минут задач],
...
}

Рассчитать:

  • общее время работы каждого сотрудника
  • самого загруженного сотрудника
  • среднюю загрузку команды
  • дни перегрузки (если > 600 минут в день)

Что использовать

  • словари
  • списки
  • random.choice
  • вложенные циклы
  • агрегацию данных

⸻

Дополнительные идеи для усложнения

Можно добавить:

  • логирование результатов в файл
  • визуализацию (matplotlib)
  • сортировку по прибыли
  • фильтрацию по условиям
  • генерацию отчётов
  • обработку ошибок

⸻

Если цель — обучение

Рациональный порядок выполнения:

  1. Задача 1
  2. Задача 2
  3. Задача 3
  4. Задача 4
  5. Задача 5
  6. Задача 6

Так покрываются:

  • random
  • циклы
  • списки
  • словари
  • вложенные структуры
  • аналитические расчёты