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

Помощь с задачей по программированию.

П И Ученик (168), на голосовании 1 месяц назад
Внимание задачу нужно решить с только использованием словаря!
Вот сама задача:
Ученики класса собирали весь урок шишки. В конце им стало интересно, кто сколько шишек принес. Каждый школьник мог несколько раз приносить найденные шишки. По имеющимся данным
определите, кто сколько шишек собрал.
Формат входных данных
Каждая строка содержит фамилию школьника, принесшего шишки, затем через пробел идет
количество шишек. Количество строк не превосходит 10^5, количество шишек, принесенных за один
раз не превосходит 10^9 и является целым неотрицательным числом.
Формат выходных данных
Выведите фамилии всех школьников в лексикографическом порядке, затем, через пробел, количество принесенных им шишек.
P.S Основная проблема у меня в том, что не могу понять как устроить пользовательский ввод.
Заранее спасибо!!!
Голосование за лучший ответ
Resurce InheiT Профи (770) 2 месяца назад
 shishki = {} 

import sys
input = sys.stdin.read
data = input().strip().split('\n')

for line in data:
name, count = line.split()
count = int(count)
if name in shishki:
shishki[name] += count
else:
shishki[name] = count

for name in sorted(shishki):
print(name, shishki[name])
АндрейВысший разум (454987) 2 месяца назад
 name, count = line.split()
shishki[name] += shishki.get(name, 0) + int(count)
АндрейВысший разум (454987) 2 месяца назад
Поправка:
 name, count = line.split() 
shishki[name] = shishki.get(name, 0) + int(count)
Resurce InheiT Профи (770) Андрей, ?
ПапаВысший разум (140909) 2 месяца назад
оооо, это count = int(count)
Если ещё раз доведётся, не дай Бог, работать с питонщиками, заведу в офисе тазик с розгами. И за такие вещи на ревью - по рукам, по рукам.
Похожие вопросы