L. Однофамильцы — 2

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

Формат ввода

В первой строке указывается количество мужчин — сотрудников организации (N).
Затем идут N строк с фамилиями этих сотрудников в произвольном порядке.

Формат вывода:

Список однофамильцев в организации с указанием их количества в алфавитном порядке.
Если таковых нет — вывести «Однофамильцев нет».

Пример

Ввод

6
Иванов
Петров
Сидоров
Петров
Иванов
Петров

Вывод

Иванов - 2
Петров - 3

Ввод

3
Иванов
Петров
Сидоров

Вывод

Однофамильцев нет

Решение

Как и в прошлой задаче, накапливаем фамилии в частотный словарь, сортируем, затем ищем количество элементов, значение которых больше единицы и выводим в качестве ответа. Если вывели хоть одну фамилию, устанавливаем признак наличия вывода. Если по окончании поиска признак оказался не установлен – выводим сообщение о том, что однофамильцев нет.

Посмотреть код

Решение

Python
cousins = dict()
for _ in range(int(input())):
    name = input()
    cousins[name] = cousins.get(name, 0) + 1

cousins = dict(sorted(cousins.items()))

printed = False

for name in cousins:
    if cousins[name] > 1:
        print(name, '-', cousins[name])
        printed = True

if not printed:
    print('Однофамильцев нет')
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии