Повторение: ошибки в корзине покупок
Часть раздела Логика и управление потоком выполнения путешествия по Python на Coddy. Урок 66 из 78.
Задание
СреднеСоздайте программу, которая имитирует корзину покупок с обработкой ошибок. Ваша задача:
- Создать функцию с именем
handle_shopping_cart, которая обрабатывает заказы клиентов - Функция должна принимать список строк с заказами в формате "item:quantity"
- Обработать каждый заказ следующим образом:
- Разделить входную строку, чтобы получить товар и количество
- Преобразовать количество в целое число
- Добавить товар в словарь корзины, используя количество в качестве значения
- Если товар уже существует в корзине, добавить новое количество к его текущему количеству
- Обработать следующие конкретные ошибки:
- Если формат входных данных неверен (отсутствует двоеточие), вывести "Invalid format: {order}"
- Если количество не является допустимым числом, вывести "Invalid quantity: {order}"
- Если количество отрицательное, вывести "Negative quantity not allowed: {order}"
- Вернуть заполненный словарь корзины покупок
Проверьте формат и отрицательное количество с помощью if. Только преобразование количества в целое число может вызвать ошибку, поэтому именно в except ValueError выводится "Invalid quantity: {order}". Оставьте последний блок except Exception as e в качестве защитного механизма и выведите там "Unexpected error: {e}".
Попробуйте сами
def handle_shopping_cart(orders):
# Создать пустой словарь для корзины покупок
cart = {}
# Обработать каждый заказ в списке
for order in orders:
try:
# Разделить заказ, проверить формат и количество, затем добавить его в корзину
pass
except ValueError:
# Количество не было числом
pass
except Exception as e:
# Что-то неожиданное
pass
# Вернуть заполненную корзину
return cartВсе уроки раздела Логика и управление потоком выполнения
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Обработка нескольких исключенийПовторение: ошибки в корзине покупокПотренируйтесь самостоятельно: Онлайн-компилятор Python