Вновь поможем сотруднику из отдела кадров выяснить, сколько мужчин-однофамильцев работает в организации, но уже немного с иными условиями.
Формат ввода
В первой строке указывается количество мужчин — сотрудников организации (N).
Затем идут N строк с фамилиями этих сотрудников в произвольном порядке.
Формат вывода:
Список однофамильцев в организации с указанием их количества в алфавитном порядке.
Если таковых нет — вывести «Однофамильцев нет».
Пример
Ввод
6
Иванов
Петров
Сидоров
Петров
Иванов
Петров
Вывод
Иванов - 2
Петров - 3
Ввод
3
Иванов
Петров
Сидоров
Вывод
Однофамильцев нет
Решение
Как и в прошлой задаче, накапливаем фамилии в частотный словарь, сортируем, затем ищем количество элементов, значение которых больше единицы и выводим в качестве ответа. Если вывели хоть одну фамилию, устанавливаем признак наличия вывода. Если по окончании поиска признак оказался не установлен – выводим сообщение о том, что однофамильцев нет.
Посмотреть код
Решение
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('Однофамильцев нет')