Вариант 1
(3 балла) Напишите функцию trim_lines, которая получает на вход список строк, удаляет все невидимые символы (пробелы, табуляции и т.п.) в конце каждой строки, и возвращает получившийся список строк. Должен работать дословно такой пример:
(3 балла) Напишите функцию enumerate, которая получает на вход список строк, добавляет в начало каждой её номер, и возвращает получившийся список строк. Должен работать дословно такой пример:
(4 балла) Напишите программу, которая открывает файл "words.txt", удаляет в его содержимом невидимые символы в концах строк, нумерует строки в обратном порядке, и записывает получившиеся строки в "clean.txt". Если в исходном файле было две строки:
hello world
То в выходном должно получиться:2. hello 1. world
Вариант 2
(3 балла) Напишите функцию filter_letters(text), которая получает на вход строку, и возвращает строку, содержащую только буквы из этого текста. Должен работать дословно такой пример:
(3 балла) Напишите функцию letter_counts(text), которая получает на вход строку, и возвращает словарь, в котором ключ – буква, значение – сколько раз эта буква встретилась в тексте. Регистр букв при этом не учитывается. Должен работать дословно такой пример:
(4 балла) Напишите программу, которая открывает файл "words.txt", считает количества вхождений разных букв в нём, переводит количества в частоты, и печатает на экран частотный словарь в порядке убывания частот букв.
Вариант 3
(3 балла) Напишите функцию fake_lemmer(tokens, n), которая получает на вход список токенов и количество букв, которые мы считаем окончанием, и возвращает список пар (пару можно обозначать как кортеж или список из двух элементов): "лемма", "окончание". Должен работать дословно такой пример:
(3 балла) Напишите функцию suffix_counts(pairs), которая получает на вход список пар: лемма + суффикс, и возвращает словарь, в котором ключ – суффикс, значение – сколько раз встретился суффикс во входном списке. Должен работать дословно такой пример:
(4 балла) Напишите программу, которая открывает файл "tokens.txt", в котором в каждой строчке написан ровно один токен, "лемматизирует" его (принимая длину окончания равной 2), находит самую частую "лемму", и выводит на экран частоты суффиксов для неё.