74 lines
2.5 KiB
Python
74 lines
2.5 KiB
Python
''' ****** Задание 11 из 20 *********
|
||
* Начальник кадровой службы хочет выяснить, сколько мужчин-однофамильцев работает в организации.
|
||
У него есть список фамилий, и на его основании требуется определить количество сотрудников, чьи фамилии совпадают хотя бы с одной другой.
|
||
|
||
Напишите программу, которая по списку фамилий сотрудников подсчитывает общее число однофамильцев — то есть людей, чья фамилия в списке встречается более одного раза.
|
||
|
||
Формат ввода
|
||
В первой строке указывается количество мужчин — сотрудников организации (
|
||
N
|
||
N).
|
||
Затем идут
|
||
N
|
||
N строк с фамилиями этих сотрудников в произвольном порядке.
|
||
|
||
Формат вывода
|
||
Количество однофамильцев в организации.
|
||
|
||
|
||
Подсказка
|
||
Повторите работу со счетчиком из задачи I. Зайка - 9.
|
||
|
||
Обратите внимание, что нам требуется выводить только те фамилии, которые встретились более одного раза.
|
||
|
||
Пример 1
|
||
Ввод
|
||
|
||
6
|
||
Иванов
|
||
Петров
|
||
Сидоров
|
||
Петров
|
||
Иванов
|
||
Петров
|
||
Вывод
|
||
|
||
5
|
||
'''
|
||
|
||
|
||
if __name__ == "__main__":
|
||
TRANSLITERATION_MAP = {
|
||
'А': 'A', 'Б': 'B', 'В': 'V',
|
||
'Г': 'G', 'Д': 'D', 'Е': 'E',
|
||
'Ё': 'E', 'Ж': 'ZH', 'З': 'Z',
|
||
'И': 'I', 'Й': 'I', 'К': 'K',
|
||
'Л': 'L', 'М': 'M', 'Н': 'N',
|
||
'О': 'O', 'П': 'P', 'Р': 'R',
|
||
'С': 'S', 'Т': 'T', 'У': 'U',
|
||
'Ф': 'F', 'Х': 'KH', 'Ц': 'TC',
|
||
'Ч': 'CH', 'Ш': 'SH', 'Щ': 'SHCH',
|
||
'Ы': 'Y', 'Э': 'E', 'Ю': 'IU',
|
||
'Я': 'IA', 'Ь': '', 'Ъ': '',
|
||
}
|
||
|
||
input_text = input()
|
||
|
||
for char in input_text:
|
||
upper_char = char.upper()
|
||
|
||
if upper_char in TRANSLITERATION_MAP:
|
||
transliterated = TRANSLITERATION_MAP[upper_char]
|
||
|
||
if char.isupper():
|
||
print(transliterated.capitalize(), end='')
|
||
else:
|
||
print(transliterated.lower(), end='')
|
||
else:
|
||
print(char, end='')
|
||
|
||
|
||
|
||
|
||
|