Частота слов в тексте разной длины

 Пример кода, который считывает текст из файла "фразы.txt" и находит самые часто встречающиеся слова длины от 3 до 13 символов:



from collections import Counter
import re

def find_most_common_words(filename):
    with open(filename, 'r', encoding='utf-8') as file:
        text = file.read()
        words = re.findall(r'\b\w+\b', text.lower())
        word_counts = Counter(words)

        most_common_words = {}
        for word_length in range(3, 14):
            words_of_length = [word for word in word_counts if len(word) == word_length]
            if words_of_length:
                most_common_word = max(words_of_length, key=lambda x: word_counts[x])
                most_common_words[word_length] = (most_common_word, word_counts[most_common_word])

        return most_common_words

filename = 'фразы.txt'
result = find_most_common_words(filename)
for length, (word, count) in result.items():
    print(f"Самое частое слово длины {length} символов: '{word}', встречается {count} раз(а).")




  **


вывод:


Бот

Самое частое слово длины 3 символов: 'что', встречается 8734 раз(а).
Самое частое слово длины 4 символов: 'быть', встречается 1917 раз(а).
Самое частое слово длины 5 символов: 'может', встречается 2617 раз(а).
Самое частое слово длины 6 символов: 'просто', встречается 1534 раз(а).
Самое частое слово длины 7 символов: 'которые', встречается 1355 раз(а).
Самое частое слово длины 8 символов: 'человека', встречается 793 раз(а).
Самое частое слово длины 9 символов: 'вселенной', встречается 427 раз(а).
Самое частое слово длины 10 символов: 'информации', встречается 774 раз(а).
Самое частое слово длины 11 символов: 'возможности', встречается 267 раз(а).
Самое частое слово длины 12 символов: 'использовать', встречается 208 раз(а).
Самое частое слово длины 13 символов: 'действительно', встречается 140 раз(а).



Достоевский

Самое частое слово длины 3 символов: 'что', встречается 32365 раз(а).
Самое частое слово длины 4 символов: 'меня', встречается 7968 раз(а).
Самое частое слово длины 5 символов: 'вдруг', встречается 4382 раз(а).
Самое частое слово длины 6 символов: 'только', встречается 5838 раз(а).
Самое частое слово длины 7 символов: 'наконец', встречается 2180 раз(а).
Самое частое слово длины 8 символов: 'господин', встречается 976 раз(а).
Самое частое слово длины 9 символов: 'несколько', встречается 1081 раз(а).
Самое частое слово длины 10 символов: 'совершенно', встречается 1270 раз(а).
Самое частое слово длины 11 символов: 'чрезвычайно', встречается 560 раз(а).
Самое частое слово длины 12 символов: 'раскольников', встречается 567 раз(а).
Самое частое слово длины 13 символов: 'действительно', встречается 845 раз(а).




 очевидно так мы вычисляем число Пи 



 Вот пример простой программы на Python, которая преобразует последовательность цифр числа Пи в текст, используя заданный словарь:

# Заданный словарь
dictionary = {
    0: "я",
    1: "люблю",
    2: "пиццу",
    3: "и",
    4: "пирог"
}

# Последовательность цифр числа Пи (пример)
pi_digits = "31415"

# Преобразование последовательности цифр числа Пи в текст
text = " ".join([dictionary[int(digit)] for digit in pi_digits])

print("Текст, сгенерированный из числа Пи:", text)


 **



 Этот пример использует заданный словарь и последовательность цифр числа Пи в качестве входных данных. Вы можете легко изменить словарь и/или последовательность цифр числа Пи по своему усмотрению.

слова и числа берём из двух файлов

Понял. Для этого нужно сначала прочитать слова и числа из файлов, затем выполнить преобразование. Вот пример того, как это можно сделать на Python:

Создайте два текстовых файла: один для слов, другой для чисел. В каждом файле укажите один элемент на строку, например:

 **

Содержимое файла "words.txt":

я
люблю
пиццу
и
пирог

Содержимое файла "numbers.txt":

3
1
4
1
5

Затем можно использовать следующий код на Python:
# Функция для чтения слов из файла
def read_words(filename):
    with open(filename, 'r') as file:
        return [line.strip() for line in file]

# Функция для чтения чисел из файла
def read_numbers(filename):
    with open(filename, 'r') as file:
        return [int(line.strip()) for line in file]

# Считываем слова и числа из файлов
words = read_words('words.txt')
numbers = read_numbers('numbers.txt')

# Сопоставляем числа со словами
mapping = dict(zip(numbers, words))

# Последовательность чисел, например, из файла или любая другая
pi_digits = [3, 1, 4, 1, 5]

# Преобразовываем последовательность чисел в текст, используя словарь
text = " ".join([mapping[digit] for digit in pi_digits])

print("Текст, сгенерированный из числа Пи:", text)



Этот код сначала считывает слова и числа из файлов, затем создает словарь, сопоставляя числа со словами.
Затем задается последовательность чисел ( как из файла, так и напрямую в коде), и она преобразуется в текст, используя словарь.


Рецензии