project_python.3.2/lesson.12.py

61 lines
1.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

''' ****** Задание 11 из 20 *********
* Напишите программу, которая по списку фамилий сотрудников выводит список всех однофамильцев (тех, чьи фамилии встречаются более одного раза), а также количество их повторений.
Формат ввода
В первой строке указывается количество мужчин — сотрудников организации (
N
N).
Затем идут
N
N строк с фамилиями этих сотрудников в произвольном порядке.
Формат вывода
Список однофамильцев в организации с указанием их количества в алфавитном порядке.
Если таковых нет — вывести «Однофамильцев нет».
Подсказка
В отличие от предыдущей задачи, здесь вам требуется сформировать итоговый список фамилий, отсортировать его и только потом уже вывести.
Пример 1
Ввод
6
Иванов
Петров
Сидоров
Петров
Иванов
Петров
Вывод
Иванов - 2
Петров - 3
'''
if __name__ == "__main__":
total_entries = int(input())
name_list = []
for _ in range(total_entries):
person_name = input()
name_list.append(person_name)
duplicate_records = [
f"{name} - {name_list.count(name)}"
for name in set(name_list)
if name_list.count(name) > 1
]
if duplicate_records:
for record in sorted(duplicate_records):
print(record)
else:
print('Однофамильцев нет')