Предмет: Информатика, автор: seglovmaksim852

СРОЧНО!!! Для Python 3
Магазин Артема
У Артема есть магазин с разными товарами. Журнал продаж заполняется следующим образом. Пишется наименование продукта и его цена продажи. Артем хочет посчитать суммарную выручку с каждой продукции. Напишите следующую программу.

Вводные данные: в первой строке дается число N, количество продаж. В следующих N строках наименование продукта(в названии продукта могут быть пробелы), затем цена, которую выплатили за продукт.

Выходные данные: в первой строке количество продуктов, которые были проданы. Затем на каждой строке наименование продукта и суммарная выручка с них. Порядок вывода должен соответствовать порядку ввода появления продукции.
Ввод:
9
BANANA FRIES 12
POTATO CHIPS 30
APPLE JUICE 10
CANDY 5
APPLE JUICE 10
CANDY 5
CANDY 5
CANDY 5
POTATO CHIPS 30

Ответы

Автор ответа: Btikirov
1

Ответ:

n = int(input()) # получаем кол-во продуктов и записываем в n

a = {} # библиотека для цен

c = {} # библиотека для кол-во продукта

l = [] # массив для всех проданных продуктов

for i1 in range(n): # цикл для заполнения всех массивов

   b = [] # массив b для отделения цены о названия продукта

   b.append(input().split()) # записываем продукт и его цену в массив b

   k = int(b[0][len(b[0])-1]) # записываем в k цену продукта

   v = ''

   for i in range(len(b[0])-1): # при помощи цикла объединяем название в                одну строчку и записываем в v

       v = v + str(b[0][i]) + ' '

   l.append(v) # добавляем название в массив l

   a[v] = k # добавляем цену и продукт в библиотеку a

   c[v] = 0 # добавляем продукт в библиотеку b

for i in range(len(l)): # записываем при помощи цикла кол-во каждого продукта

   c[l[i]] = c[l[i]]+1

print(len(c)) # выводим кол-во продуктов, которые были проданы

for i in a: # при помои цикла выводим продукт и сколько за него в итоге заплатили

   print(str(i)+str(a[i]*c[i]))

Объяснение


Btikirov: решение без комментариев
seglovmaksim852: Правильно. спасибо, но почему всё равно пишет ошибка, видимо нужно подругому решить
seglovmaksim852: По сути надо было через dict, я так понял ты через него и делал, но , опять-таки я не понимаю, почему, но программа решение не принимает
Btikirov: какую ошибку он пишет?
seglovmaksim852: не, в том то и дело, что я не знаю, программа ставит галочки в конце, когда я проверяю код, галочка всего 1 из 8, ответ по сути правильный (то что продаж 4 чипсы 60 и тд), но скорее всего программе нужно другое решение
Btikirov: то есть ответ неверный, да?
seglovmaksim852: Путь решения должен быть другим, вывод данных такой же
seglovmaksim852: 4
BANANA FRIES 12
POTATO CHIPS 60
APPLE JUICE 20
CANDY 20
Btikirov: понял
seglovmaksim852: не поможешь?:(
Похожие вопросы