Поможем детям подсчитать, сколько за окном поезда встречается животных и деревьев каждого вида.
Формат ввода
В каждой строке записано описание придорожной местности.
Конец ввода обозначается пустой строкой.
Формат вывода:
Список увиденного и их количество.
Порядок вывода не имеет значения.
Пример
Ввод
березка елочка зайка волк березка
сосна зайка сосна елочка зайка медведь
сосна сосна сосна белочка сосна белочка
Вывод
березка 2
елочка 2
зайка 3
волк 1
сосна 6
медведь 1
белочка 2
Ввод
зайка березка
березка зайка
березка елочка березка
елочка елочка елочка
Вывод
зайка 2
березка 4
елочка 4
Решение
Типовая задача на накопление значений в словаре. Просто читаем строки, ращбиваем их на слова, с помощью метода split(). Если в словаре нет такого слова, добавляем его со счетчиком равным единице, в противном случае просто увеличиваем счетчик. В этой задаче хорошо работает метод get(). Он позволяет отказаться от оператора сравнения и делает код более простым.
Посмотреть код
Решение
Python
objects = dict()
while (string := input()) != '':
words = string.split()
for item in words:
if item in objects:
objects[item] += 1
else:
objects[item] = 1
for item in objects:
print(item, objects[item])
Решение
Python
# использование метода get()
objects = {}
while (string := input()) != '':
words = string.split()
for item in words:
objects[item] = objects.get(item, 0) + 1
for item in objects:
print(item, objects[item])