Сделал 12 задание
This commit is contained in:
parent
2f7056a50f
commit
8c6fad2c00
60
lesson.12.py
Normal file
60
lesson.12.py
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
''' ****** Задание 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('Однофамильцев нет')
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in a new issue