import importlib.resources as pkg_resources

teor = {
    "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": "функции стандартной библиотеки для"
}

code = {
    "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": "реализовать функцию которая английского алфавита пример пример",
    "39": "используя генератор списков в исходной строки пример",
    "40": "функция в качестве параметр ключевой вещественного типа",
    "41": "используя генератор списков конца исходной строки пример",
    "42": "написать функцию сложения вводе пользователем отрицательных чисел",
    "43": "используя генератор списков числа начиная с пример",
    "44": "написать функцию подсчета вызываться ошибка использовать конструкцию ",
    "45": "используя генератор списков равно значению ключа пример",
    "49": "используя генератор словарей значение оставить прежним пример",
    "52": "реализовать функцию в файла выглядит следующим образом",
    "53": "используя генератор словарей являющиеся нечетными числами пример",
    "54": "дана строка состоящая и той же буквой",
    "55": "используя генератор словарей являющиеся четными числами пример",
    "59": "используя генератор словарей в итоговый словарь пример",
    "61": "из списка списков будет преобразован в строку",
    "63": "в строке содержащей строка будет преобразована в",
}

content = ''


def write_teor(name):
    global content

    resource_package = 'pechenegi.t'

    keys = [key for key, val in teor.items() if val == name]

    resource_path = f'{keys[0]}.txt'
    with pkg_resources.open_text(resource_package, resource_path) as file:
        content = file.read()
    return content


def write_code(name):
    global content

    resource_package = 'pechenegi.c'

    keys = [key for key, val in code.items() if val == name]

    resource_path = f'{keys[0]}.txt'
    with pkg_resources.open_text(resource_package, resource_path) as file:
        content = file.read()
    return content
