Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задача на питоне

Workout Ученик (88), на голосовании 2 месяца назад
Напишите программу, которая подсчитывает количество единиц товаров, приобретенных покупателями онлайн-магазина. На вход
программе подается число n – количество записей о покупках, а затем n строк вида «Покупатель Товар Количество». Для каждого
покупателя программа должна выводить список покупок.
Пример ввода: 5
Сергей Карандаш 3
Андрей Тетрадь 5
Юлия Линейка 1
Сергей Ручка 2
Юлия Книга


Пример вывода:
Андрей:
Тетрадь 5
Сергей:
Карандаш 3 Ручка 2
Юлия:
Книга 4 Линейка 1
Голосование за лучший ответ
Николай Кондрашкин Профи (827) 3 месяца назад
 n = int(input().strip())  
purchases = dict()

for i in range(n):
name, purchase= input().strip().split(maxsplit=1)
if name not in purchases:
purchases[name] = list()
purchases[name].append(purchase)

for name in sorted(purchases.keys()):
print(f"{name}:")
print(*sorted(purchases[name]))
WorkoutУченик (88) 3 месяца назад
не работает
Николай Кондрашкин Профи (827) Олег Тайский, В смысле код не запускается или проверку не проходит? Если не проходит проверку, то возможно из-за того, что я не отсортировал вывод по алфавиту. Сейчас исправлю.
WorkoutУченик (88) 3 месяца назад
спасибо
Николай Кондрашкин Профи (827) Олег Тайский, Пока не за что. Попробуйте ещё раз. Возможно нужно ещё количество каждого товара в покупке подсчитывать.
Celtic Hammer Мудрец (15922) 3 месяца назад
В онлайн-интерпретаторах не хочет принимать кириллицу без указания кодировки, но с латиницей всё работает
 d = {} 
n = int(input('number '))
for i in range(n):
s = input().split(' ')
if not s[0] in d:
d[s[0]] = []
d[s[0]] += [s[1], s[2]]
for i in d:
print(f'{i}:')
print(' '.join(d[i]))
Похожие вопросы