Наборщик
Написать программу на python, соблюдающее данное условие
Еще совсем недавно в типографиях существовала такая профессия – наборщик, человек, который собирает текст из букв перед печатью. Он в рамку страницы вручную вставлял металлические трафареты букв, то есть каждая буква текста проходила через его руки!
Напишите программу, которая определит, сколько и каких букв нужно для набора введённой строки.
Формат ввода
Вводится строка из букв русского или латинского алфавита и символов.
Формат вывода
Для каждой буквы (осторожно! В строке могут встречаться и другие символы!) нужно вывести кортеж:
(буква, её номер в алфавите)
в любом порядке, каждый кортеж с новой строки.
Буквы в разных регистрах – разные буквы.
Пример 1
Ввод Вывод
Hello, world!
('H', 8)
('r', 44)
('e', 31)
('l', 38)
('w', 49)
('d', 30)
('o', 41)
Пример 2
Ввод Вывод
Говорит и показывает Москва.
('в', 36)
('и', 43)
('т', 53)
('М', 14)
('з', 42)
('е', 39)
('Г', 4)
('о', 49)
('с', 52)
('ы', 62)
('п', 50)
('а', 34)
('к', 45)
('р', 51)
Примечания
Нельзя использовать методы строк.
Нумерация букв в алфавитах идёт с 1, вот расположение букв:
латинский:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
русский:
АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя
Answers & Comments
Ответ:
d = set()
for i in input():
if ord('A') <= ord(i) <= ord('я') or ord(i) == ord('ё') or ord(i) == ord('Ё'):
d.add(i)
f = {'A': [1], 'B': [2], 'C': [3], 'D': [4], 'E': [5], 'F': [6], 'G': [7], 'H': [8], 'I': [9], 'J': [10], 'K': [11],
'L': [12], 'M': [13], 'N': [14], 'O': [15], 'P': [16], 'Q': [17], 'R': [18], 'S': [19], 'T': [20], 'U': [21],
'V': [22],
'W': [23], 'X': [24], 'Y': [25], 'Z': [26], 'a': [27], 'b': [28], 'c': [29], 'd': [30], 'e': [31], 'f': [32],
'g': [33],
'h': [34], 'i': [35], 'j': [36], 'k': [37], 'l': [38], 'm': [39], 'n': [40], 'o': [41], 'p': [42], 'q': [43],
'r': [44],
's': [45], 't': [46], 'u': [47], 'v': [48], 'w': [49], 'x': [50], 'y': [51], 'z': [52], 'А': [1], 'Б': [2],
'В': [3],
'Г': [4], 'Д': [5], 'Е': [6], 'Ё': [7], 'Ж': [8], 'З': [9], 'И': [10], 'Й': [11], 'К': [12], 'Л': [13], 'М': [14],
'Н': [15], 'О': [16], 'П': [17], 'Р': [18], 'С': [19], 'Т': [20], 'У': [21], 'Ф': [22], 'Х': [23], 'Ц': [24],
'Ч': [25],
'Ш': [26], 'Щ': [27], 'Ъ': [28], 'Ы': [29], 'Ь': [30], 'Э': [31], 'Ю': [32], 'Я': [33], 'а': [34], 'б': [35],
'в': [36],
'г': [37], 'д': [38], 'е': [39], 'ё': [40], 'ж': [41], 'з': [42], 'и': [43], 'й': [44], 'к': [45], 'л': [46],
'м': [47],
'н': [48], 'о': [49], 'п': [50], 'р': [51], 'с': [52], 'т': [53], 'у': [54], 'ф': [55], 'х': [56], 'ц': [57],
'ч': [58],
'ш': [59], 'щ': [60], 'ъ': [61], 'ы': [62], 'ь': [63], 'э': [64], 'ю': [65], 'я': [66], }
for i in d:
print(f"('{i}', {f.get(i)[0]})")
Объяснение: