Повторение: ошибки в корзине покупок
Часть раздела Logic & Flow путешествия по Python на Coddy — урок 66 из 78.
Задание
СреднеСоздайте программу, которая имитирует корзину покупок с обработкой ошибок. Ваша задача:
- Создайте функцию с названием
handle_shopping_cart, которая обрабатывает заказы клиентов - Функция должна принимать список строк заказов в формате "item:quantity"
- Обработайте каждый заказ следующим образом:
- Разделите входную строку, чтобы получить товар и количество
- Преобразуйте количество в целое число
- Добавьте товар в словарь корзины покупок, используя количество в качестве значения
- Если товар уже есть в корзине, прибавьте новое количество к уже существующему
- Обработайте следующие специфические ошибки:
- Если формат ввода неверен (отсутствует двоеточие), выведите "Invalid format: {order}"
- Если количество не является допустимым числом, выведите "Invalid quantity: {order}"
- Если количество отрицательное, выведите "Negative quantity not allowed: {order}"
- Верните заполненный словарь корзины покупок
Попробуйте сами
def handle_shopping_cart(orders):
# Создать пустой словарь для корзины покупок
# Обработать каждый заказ в списке
for order in orders:
try:
# Разделить заказ и добавить в корзину
# Обработать потенциальные ошибки
except ValueError:
# Обработать ошибки значений
except Exception as e:
# Обработать непредвиденные ошибки
# Вернуть готовую корзинуВсе уроки раздела Logic & Flow
1Изучение переменных
КонстантыМножественное присваиваниеОбмен значениями переменныхПеременные-заполнителиОкругление чиселПриведение к списку4Приложение «Книга контактов»
Показать менюДобавить контакт7Множества. Часть 2
Математические операции. Часть 1Математические операции. Часть 2Повторение — Охота за сокровищамиПодмножества и надмножестваИтерация по множествамПовторение — Трекер турнира10Базовые генераторы списков
СинтаксисСоздание простых списковДобавление условийИспользование агрегации данныхПовторение — Дом списковПовторение — Элементы свободы13Система управления запасами
Обзор проектаДобавление товара2Словари. Часть 1
Что такое словарь?Создание словаряДоступ к значениямИзменение словарейИтоги — Менеджер рецептов5Продвинутое принятие решений
Тернарный операторПроверка вхожденияПроверка идентичностиОшибки отступовПовторение — Фильтр отпусков8Менеджер записей студентов
Обзор проектаДобавить студента11Продвинутые функции
Возврат нескольких значенийLambda-функции. Часть 1Lambda-функции. Часть 2Задача на повторение — Lambda-сортировкаРекурсивные функции. Часть 1Рекурсивные функции. Часть 2Повторение — сумма вложенного списка14Функции высшего порядка
Функция mapФункция filterПовторение — Валидатор emailПовторение — Обработчик чисел3Словари. Часть 2
Методы словарейВложенные словариПроверка наличия ключейПеребор словарей в циклеПовторение: счетчик частоты6Множества. Часть 1
Что такое множество?Основные операцииМетоды множествПовторение — удаление дубликатов9Продвинутая агрегация данных
Использование SumПоиск минимума и максимумаЭффективная сортировка данныхПовторение — Dictionary Sorter12Основы обработки ошибок
Что такое обработка ошибок?Блок Try и ExceptОбработка нескольких исключенийПовторение: ошибки в корзине покупок