Задача по пицце подскажите в каком направлении двигаться?

Рейтинг: -1Ответов: 1Опубликовано: 27.03.2023

В базе данных интернет-магазина PizzaTime хранятся данные о том, кто, что и сколько заказывал у них в определённый период. Вам нужно структурировать эту информацию, а также понять, сколько всего пицц купил каждый заказчик.

На вход в программу подаётся N заказов. Каждый заказ представляет собой строку вида «Покупатель — название пиццы — количество заказанных пицц». Реализуйте код, который выводит список покупателей и их заказов по алфавиту. Учитывайте, что один человек может заказать одно и то же несколько раз.

Ответы

▲ 0

Смотри, я думаю что ты новичок, поэтому распишу всё подробно в шагах:

  1. Считай число N, чтобы мы могли пройтись по коду столько раз, сколько у нас покупателей
  2. Считай сам ввод. Так как он у тебя в формате "покупатель - пицца - количество", то тут всё довольно просто - подсказка, используй метод split() и передай в него подстроку, по которой нужно разделить главную строку
  3. Создай вне цикла словарь, назовём его database, в нём будут хранится данные о пользователях и их заказах
  4. С каждой новой итерацией цикла, мы будем считывать ввод и проверять, есть ли уже такой покупатель в нашей базе. В случае если он есть, то мы далее проверяем, заказывал ли он уже такую пиццу. Здесь могут возникнуть сложности с хранением данных. Можно их хранить как строки "<пицца>: <количество>", но для новичка таким способом будет сложно понять общее количество заказанных пицц, если он опять закажет такую же пиццу, поэтому для начала можно просто добавить строку названия пиццы <количество> раз. Т.е:

Если пользователь введёт
Andrew - pepperoni - 3

То список базы данных мы пополним на:
["pepperoni", "pepperoni", "pepperoni"]

Потом на стадии вывода мы можем просто посчитать итоговое количество строк "pepperoni" в списке, это и будет являтся нашим кол-вом заказанных пицц.

  1. Для извлечения данных из словаря можно использовать метод items(), который возвращает список пар-кортежей, состоящих из ключа и значения. В нашем случае ключ - имя покупателя и значение - список строк заказанных пицц. Сортировать их можно с помощью sorted(), передав в параметр key функцию для сортировки.

Если вывод всё таки нужен типа "<пицца> : <количество>", то ты можешь воспользоваться этой статьей.