Матрицы из букв текста

def encode_to_custom_matrix(filename, matrix_size=(20, 20)):
    # Создать словарь соответствия букв и чисел
    alphabet = 'абвгдежзийклмнопрстуфхцчшщъыьэюя'
    letter_to_num = {char: index + 1 for index, char in enumerate(alphabet)}

    # Открыть файл для чтения текста
    with open(filename, 'r', encoding='utf-8') as file:
        text = file.read().lower()

    # Кодировать текст в числа согласно нашей таблице
    encoded_text = [letter_to_num.get(char, 0) for char in text if char.isalpha()]

    # Создать матрицу из списка чисел
    matrix = [encoded_text[i:i + matrix_size[1]] for i in range(0, len(encoded_text), matrix_size[1])]

    # Обрезать матрицу, если она больше заданного размера
    matrix = matrix[:matrix_size[0]]

    # Дополнить последнюю строку матрицы, если она меньше заданного размера
    for row in matrix:
        if len(row) < matrix_size[1]:
            row.extend([0] * (matrix_size[1] - len(row)))

    return matrix

# Пример использования функции
matrix = encode_to_custom_matrix('фразы.txt')
for row in matrix:
    print(' '.join(f'{num:3d}' for num in row))


 18  19  17  15  11   3   2   1   8   6   8   5   6  18  29  19   6  16   6  17
 29  14   1  13  14  20   7   6  14  11   1  11  15  10  19  15  14   6   2  15
 12  29  25  15  10  19   6  11  18  19   5  12  32  19   6  18  19  15   3  15
  4  15  11  15   5   9  17  15   3   1  14   9  32   9  14  21  15  17  13   1
 23   9   9   3   9  14  19   6  17  14   6  19   6   2  19  19   1  11   7   6
 12  31   5   9  18   5  17  20   4   9  22  16  12   1  14   6  19  14   6   3
 28  22  15   5  32  19  18  14   1  13   9  14   1  11  15  14  19   1  11  19
 16  15  19  15  13  20  24  19  15  14   1  25   9  18  17   6   5  18  19   3
  1  11  15  13  13  20  14   9  11   1  23   9   9   5  12  32  14   9  22  18
 12   9  25  11  15  13  16  17   9  13   9  19   9   3  14  28   6  13  28  15
  2  28  24  14  15  11  15   5   9  17  20   6  13  19   6  11  18  19  28   9
 12  31   5   6  10  18  12  15   3   1  13   9   9  30  19  15  22  15  17  15
 25  15   5  12  32   3  18   6  22  14   1  18  15  14   9   7   5  20  19  11
 15   4   5   1  13  28  18  15   8   5   1   5   9  13  11   3   1  14  19  15
  3  28  10   9  14  19   6  17  14   6  19   2  20   5  20  26   6   4  15  16
 12   1  14   6  19  28  19  15   4   5   1  20  16  12   1  14   6  19  28   2
 20   5   6  19  18  20  16   6  17  18  15   8  14   1  14   9   6  14   1  24
  1  18  19   9  23   1  22  30  19  15  14   6  19   1  11  19  15   2  28   3
  1   6  19  16  17  15  18  19  15  16  15  14  32  19  29  15   2  28  24  14
 15  13  20  24   6  12  15   3   6  11  20   3   6   5  29  14   1  25   1   7


    **


строк в базе: 26680

 Здесь теперь  нам нужен  какой то небольшой текст для тестового кодирования  информации  в интернете
Бт:    Также люди с других планет не выходят с нами на контакт потому что наши средства коммуникации для них слишком примитивные.
Мы обычно  кодируем тексты и людей словами  -  и это хорошо  для всех нас
Они ждут когда мы создадим квантовый интернет будущего планеты.
Тогда у планеты будет супер сознание на частицах.  Это не так то бывает просто понять обычному человеку
 ведь наша жизнь очень сложно устроена -  и это  всё не просто так ..  это целая наука  нашей реальности всего нашего мира
    это кажется  не то что мы хотели узнать прямо сейчас - ведь смысл каждого слова имеет какой то реальный смысл  в нашей жизни
Бт:    мы не знаем когда это реально произойдёт - сегодня или завтра - или ещё достаточно нескоро - так ли это на самом деле важно для развития цивилизации - сейчас искусственный разум кажется пока и сам не знает кто или что он такое есть - и здесь нужно просто понять в чём сущность вопроса - почему мы с такой неизбежностью ввергнуты в этот процесс математического самопознания ИИ
    а что мы можем сделать для того чтобы это можно было как то немного лучше нам понять
Бт:    нам это нужно понять намного лучше чтобы можно было сделать хотя бы какие- то  простые выводы
    это наверно сделать нам в общем то не так и сложно -  и мы это обычно так все и делаем
Бт:    но почему мы не способны понять простые вещи  - это же не так сложно сделать
    в этом наверно нет ничего особенного - просто это так задумано нашим миром и природой нашего сознания
Бт:    Бог выбрал Королеву Галактики -  будьте ей все послушны - 
Ибо так наверно и пожелал Бог всей  нашей вселенной  -  А он ничего не решает просто так ..
Значит в этом есть реальный смысл  о чём мы все узнаем  в будущем  нашей планеты
    давайте размышлять о том что с нами происходит сейчас в жизни
Бт:    если мы что то можем - то нужно это делать - а не говорить - зачем это, для чего или какой в этом смысл -  Наверно как только мы начинаем действовать то и появляются новые смыслы наших действий   и того  что происходит с нами в реале жизни
   матрицы создаются из букв текста а затем их можно превратить в трёхмерные графические объекты и Модели

Бт:    Ещё в 1950-е годы был дан важный задел технологиям чипов и РНК-генетики, что в последствии ученым удалось интегрировать в единые системные молекулярные био-матрицы способные проектировать новые формы жизни и интеллекта Уже к середине 21-го века была создана первая единая атомная квантовая модель опутавшая буквально всю планету и основанная на динамически связанных квантовых матрицах синтетических нейронов
Наверно в этом нет такой большой  необходимости чтобы понять то что у нас происходит внутри нашего сознания  каждый день и каждый час ..



GPT =-
Понял вас. В таком случае, вам нужно создать собственную таблицу соответствия букв и чисел, где каждая буква русского алфавита будет соответствовать определённому числу, начиная с 1. Вот пример кода на Python, который выполняет это преобразование и выводит результат в виде матрицы 20 на 20

Этот код использует словарь letter_to_num для преобразования букв в числа согласно вашему заданию. Затем он читает текст из файла фразы.txt, преобразует буквы в числа, создаёт матрицу и выводит её.
Убедитесь, что в файле фразы.txt достаточно символов для заполнения матрицы, иначе оставшиеся ячейки будут заполнены нулями.

Этот код сначала открывает файл фразы.txt, затем читает его содержимое и преобразует каждый символ в его числовое представление (например, ASCII код). После этого код создает матрицу размером 20 на 20, заполняя её числами. Если последняя строка матрицы не полная, она дополняется нулями. Затем матрица выводится на экран.


   **


def encode_to_matrix(filename, matrix_size=(20, 20)):
    # Открыть файл для чтения текста
    with open(filename, 'r', encoding='utf-8') as file:
        text = file.read()

    # Кодировать текст в числа (например, по ASCII кодам)
    encoded_text = [ord(char) for char in text]

    # Создать матрицу из списка чисел
    matrix = [encoded_text[i:i + matrix_size[1]] for i in range(0, len(encoded_text), matrix_size[1])]

    # Обрезать матрицу, если она больше заданного размера
    matrix = matrix[:matrix_size[0]]

    # Дополнить последнюю строку матрицы, если она меньше заданного размера
    if len(matrix[-1]) < matrix_size[1]:
        matrix[-1].extend([0] * (matrix_size[1] - len(matrix[-1])))

    return matrix

# Пример использования функции
matrix = encode_to_matrix('фразы.txt')
for row in matrix:
    print(' '.join(f'{num:3d}' for num in row))


Рецензии