I

Inventory management system

Темы: Python
Система управления запасами. Система управления запасами помогает управлять инвентарем магазина, добавляя товары, обновляя запасы, проверяя наличие и создавая отчеты о продажах.

Челлендж - Система управления записями.

Обзор проекта:

Система управления запасами помогает управлять инвентарем магазина, добавляя товары, обновляя запасы, проверяя наличие и создавая отчеты о продажах.

Задание №1.

Создайте пустой словарь с именем inventory для хранения информации о товарах. Каждый ключ в этом словаре будет представлять название товара, а его значением будет другой словарь, содержащий:

price (float): Цена товара. stock (int): Количество товара на складе. Добавьте следующий блок кода в конец вашего кода:

print(inventory) # Должен вывести: {}

Задание №2.

Добавление товара

Создайте функцию с именем add_item, которая принимает три аргумента: item (строка), price (число с плавающей точкой) и stock (целое число).

Функция должна: Проверить, существует ли уже этот предмет в словаре inventory. Если существует, вывести "Error: Item '' already exists.". Если предмет не существует, добавить его в inventory с указанной ценой и количеством. Сохранить цену как float, а количество как integer. Вывести "Item '' added successfully.". Добавьте (замените) следующий блок кода в нижней части вашего кода:

add_item("Apple", 0.5, 100) add_item("Banana", 0.2, 50) add_item("Apple", 0.6, 30) # Should print an error print(inventory)

Задание №3.

Обновление остатков

Создайте функцию с именем update_stock, которая принимает два аргумента: item (string) и quantity (int).

Функция должна: Проверить, существует ли товар в словаре inventory. Если он не существует, вывести "Error: Item '' not found.". Если товар существует, рассчитать новый запас, добавив quantity к текущему запасу. Если новый запас отрицательный, вывести "Error: Insufficient stock for ''." и не выполнять обновление. В противном случае обновить запас в inventory. Вывести "Stock for '' updated successfully.".

Добавьте (замените) следующий блок кода в конце вашего кода: add_item("Apple", 0.5, 100) add_item("Banana", 0.2, 50) add_item("Apple", 0.6, 30) # Должно вывести ошибку update_stock("Apple", -20) update_stock("Banana", 30) update_stock("Orange", 10) # Должно вывести ошибку update_stock("Apple", -90) print(inventory)

Задание №4.

Проверка наличия

Создайте функцию с именем check_availability, которая принимает один аргумент: item (строка).

Функция должна: Проверить, существует ли товар в словаре inventory. Если он не существует, верните "Item not found". Если товар существует, верните текущий запас товара.

Добавьте (замените) следующий блок кода в нижней части вашего кода: add_item("Apple", 0.5, 100) add_item("Banana", 0.2, 50) update_stock("Apple", -20) update_stock("Banana", 30) print(check_availability("Apple")) # Должно вернуть 80 print(check_availability("Banana")) # Должно вернуть 80 print(check_availability("Orange")) # Должно вернуть "Item not found"

Задание №5(итоговое).

Создание отчета

Система инвентаризации уже имеет реализованные компоненты: Глобальный словарь inventory, где: Ключи — это названия товаров (строки) Значения — это словари, содержащие: "price": Цена товара (float) "stock": Текущее количество на складе (integer) Функция add_item(item, price, stock), которая добавляет новые товары в инвентарь Функция update_stock(item, quantity), которая обновляет уровень запасов Функция check_availability(item), которая возвращает текущий уровень запасов

Ваша задача — реализовать функцию sales_report(sales), которая: Принимает словарь sales, где: Ключи — это названия товаров Значения — это проданное количество Для каждого товара в словаре продаж: Проверяет, существует ли товар в инвентаре Проверяет, достаточно ли товара на складе Обновляет инвентарь, уменьшая уровень запасов Рассчитывает выручку на основе цены и проданного количества Возвращает отформатированную строку с общей выручкой

Обработайте следующие специфические ошибки: Если товара нет в инвентаре, выведите: "Error: Item '{item}' not found." Если товара недостаточно на складе, выведите: "Error: Insufficient stock for '{item}'." Результатом должна быть строка, отформатированная как: “Total revenue: ${total:.2f}”

Добавьте (замените) следующий блок кода в нижней части вашего кода: add_item("Apple", 0.5, 50) add_item("Banana", 0.2, 60) sales = {"Apple": 30, "Banana": 20, "Orange": 10} # Orange should print an error print(sales_report(sales)) # Should output: 19.0 print(inventory)