Skip to content

Instantly share code, notes, and snippets.

@aviafelix
Created October 31, 2018 19:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aviafelix/e0cf9728a3e368f1bf30009d1f14c2b1 to your computer and use it in GitHub Desktop.
Save aviafelix/e0cf9728a3e368f1bf30009d1f14c2b1 to your computer and use it in GitHub Desktop.
mail.ru: birthday quest '18
#!/usr/bin/env python3
from pprint import pprint
REPLACERS = {
'А' : 'О',
'а' : 'о',
'Б' : 'П',
'б' : 'п',
'В' : 'Р',
'в' : 'р',
'Г' : 'С',
'г' : 'с',
'Д' : 'Т',
'д' : 'т',
'Е' : 'У',
'е' : 'у',
'Ж' : 'Ф',
'ж' : 'ф',
'З' : 'Х',
'з' : 'х',
'И' : 'Ц',
'и' : 'ц',
'К' : 'Ч',
'к' : 'ч',
'Л' : 'Ш',
'л' : 'ш',
'М' : 'Щ',
'м' : 'щ',
'Н' : 'Ь',
'н' : 'ь',
'О' : 'Ы',
'о' : 'ы',
'П' : 'Э',
'п' : 'э',
'Р' : 'Ю',
'р' : 'ю',
'С' : 'Я',
'с' : 'я',
'Т' : 'А',
'т' : 'а',
'У' : 'Б',
'у' : 'б',
'Ф' : 'В',
'ф' : 'в',
'Х' : 'Г',
'х' : 'г',
'Ц' : 'Д',
'ц' : 'д',
'Ч' : 'Е',
'ч' : 'е',
'Ш' : 'Ж',
'ш' : 'ж',
'Щ' : 'З',
'щ' : 'з',
'Ы' : 'К',
'ы' : 'к',
'Ь' : 'И',
'ь' : 'и',
'Э' : 'Л',
'э' : 'л',
'Ю' : 'М',
'ю' : 'м',
'Я' : 'Н',
'я' : 'н',
}
def count_letters(input_text):
counted_letters = {}
for letter in REPLACERS.keys():
count = input_text.count(letter)
letter = letter.upper()
if letter in counted_letters.keys():
counted_letters[letter] += count
else:
counted_letters[letter] = count
count = 0
for value in counted_letters.values():
count += value
for key, value in sorted(counted_letters.items(), key=lambda x: x[1], reverse=True):
print('{key} :: {value:.2f}'.format(key=key, value=value/count))
def main():
with open('_input_text.txt', 'r', encoding='utf-8') as f:
input_text = f.read()
# count_letters(input_text)
output_text = []
for letter in input_text:
output_text.append(REPLACERS.get(letter, letter))
print(input_text)
print()
print()
print(''.join(output_text))
if __name__ == '__main__':
main()
"""
А :: 0.12 :: О
Т :: 0.09 :: Е / А
Ч :: 0.08 :: А / Е
Ь :: 0.07 :: И
Г :: 0.06 :: Н
Д :: 0.06 :: Т
Я :: 0.06 :: С
Ф :: 0.05 :: Р
В :: 0.05 :: В
Э :: 0.05 :: Л
Ы :: 0.04 :: К
Ю :: 0.04 :: М
Б :: 0.03 :: Д
Ц :: 0.03 :: П
Щ :: 0.02 :: У
Е :: 0.02
С :: 0.02
Н :: 0.02
К :: 0.02
О :: 0.02
У :: 0.02
Х :: 0.01
З :: 0.01
Ш :: 0.01
Р :: 0.01
Л :: 0.01
П :: 0.00
Ж :: 0.00
И :: 0.00
М :: 0.00
Й :: 0.00
"""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment