частота уникальных слов в тексте по числу букв

# Открываем файл
with open('фразы1.txt', 'r', encoding='utf-8') as file:
    text = file.read()

# Разделяем текст на слова и создаем множество уникальных слов
words = set(text.split())

# Инициализируем счетчики для каждой категории
count_dict = {3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0}

# Подсчитываем количество уникальных слов по категориям
for word in words:
    length = len(word)
    if length in count_dict:
        count_dict[length] += 1

# Подсчитываем общее количество уникальных слов
total_unique_words = len(words)

# Выводим результаты
print(f"Общее количество уникальных слов: {total_unique_words}")
for length in range(3, 9):
    print(f"Количество уникальных слов длиной {length} букв: {count_dict[length]}")



   =>>


Общее количество уникальных слов: 67057
Количество уникальных слов длиной 3 букв: 1011
Количество уникальных слов длиной 4 букв: 2404
Количество уникальных слов длиной 5 букв: 4561
Количество уникальных слов длиной 6 букв: 6856
Количество уникальных слов длиной 7 букв: 8413
Количество уникальных слов длиной 8 букв: 9004




# Общее количество уникальных слов
total_unique_words = 67057

# Словарь с количеством уникальных слов по длине
count_dict = {
    3: 1011,
    4: 2404,
    5: 4561,
    6: 6856,
    7: 8413,
    8: 9004
}

# Выводим результаты с процентами
print(f"Общее количество уникальных слов: {total_unique_words}")
for length in range(3, 9):
    count = count_dict[length]
    percentage = (count / total_unique_words) * 100
    print(f"Количество уникальных слов длиной {length} букв: {count} ({percentage:.2f}%)")



    =>>


Общее количество уникальных слов: 67057
Количество уникальных слов длиной 3 букв: 1011 (1.51%)
Количество уникальных слов длиной 4 букв: 2404 (3.58%)
Количество уникальных слов длиной 5 букв: 4561 (6.81%)
Количество уникальных слов длиной 6 букв: 6856 (10.23%)
Количество уникальных слов длиной 7 букв: 8413 (12.55%)
Количество уникальных слов длиной 8 букв: 9004 (13.41%)








from collections import Counter
import re

def count_word_repeats_from_file(file_path):
    # Читаем текст из файла
    with open(file_path, 'r', encoding='utf-8') as file:
        text = file.read()
   
    # Убираем знаки препинания и разбиваем текст на слова
    words = re.findall(r'\b\w+\b', text.lower())
   
    # Считаем количество повторов слов
    word_counts = Counter(words)
   
    # Словарь для хранения количества повторов по длине слов
    length_counts = {length: 0 for length in range(3, 10)}
   
    # Считаем повторы для каждой длины
    for word, count in word_counts.items():
        length = len(word)
        if length in length_counts:
            length_counts[length] += count
   
    # Определяем среднее количество повторов
    total_repeats = sum(length_counts.values())
    total_unique_words = sum(1 for count in word_counts.values() if count > 0)
   
    # Выводим результаты
    print("Количество повторов по длине слов:")
    for length, count in length_counts.items():
        average_repeats = count / total_unique_words if total_unique_words > 0 else 0
        print(f"Длина {length} букв: Общее количество повторов = {count}, Среднее количество повторов = {average_repeats:.2f}")

# Указываем путь к файлу
file_path = 'фразы1.txt'

# Запускаем функцию
count_word_repeats_from_file(file_path)




Количество повторов по длине слов:

Длина 3 букв: Общее количество повторов = 86071, Среднее количество повторов = 1.90
Длина 4 букв: Общее количество повторов = 51449, Среднее количество повторов = 1.14
Длина 5 букв: Общее количество повторов = 82346, Среднее количество повторов = 1.82
Длина 6 букв: Общее количество повторов = 70710, Среднее количество повторов = 1.56
Длина 7 букв: Общее количество повторов = 56916, Среднее количество повторов = 1.26
Длина 8 букв: Общее количество повторов = 47258, Среднее количество повторов = 1.04
Длина 9 букв: Общее количество повторов = 35461, Среднее количество повторов = 0.78






      **




from collections import Counter

def count_word_repeats(input_text, text_to_search):
    # Приводим текст к нижнему регистру и разбиваем его на слова
    words = text_to_search.lower().split()
   
    # Считаем количество повторов слов
    word_counts = Counter(words)
   
    # Выводим результаты для введенных слов
    print("Количество повторов для введенных слов:")
    for word in input_text:
        print(f"Слово '{word}': {word_counts[word]} раз(а)")

def count_word_repeats_from_file(file_path):
    # Читаем текст из файла
    with open(file_path, 'r', encoding='utf-8') as file:
        text = file.read()
    return text

# Указываем путь к файлу
file_path = 'фразы1.txt'

# Читаем текст из файла
text_to_search = count_word_repeats_from_file(file_path)

# Ввод слов через пробел
input_text = input("Введите слова через пробел: ").lower().split()

# Подсчитываем повторы
count_word_repeats(input_text, text_to_search)



    **



Введите слова через пробел: нам здесь нужно посчитать повтор некоторых слов
в нашем тексте который есть у нас так просто

Количество повторов для введенных слов:
Слово 'нам': 2658 раз(а)
Слово 'здесь': 1130 раз(а)
Слово 'нужно': 2046 раз(а)
Слово 'посчитать': 22 раз(а)
Слово 'повтор': 6 раз(а)
Слово 'некоторых': 140 раз(а)
Слово 'слов': 440 раз(а)
Слово 'в': 16351 раз(а)
Слово 'нашем': 483 раз(а)
Слово 'тексте': 70 раз(а)
Слово 'который': 738 раз(а)
Слово 'есть': 2269 раз(а)
Слово 'у': 1834 раз(а)
Слово 'нас': 1423 раз(а)
Слово 'так': 5540 раз(а)
Слово 'просто': 2142 раз(а)








def count_lines_and_words(file_path):
    # Инициализируем счетчики
    line_count = 0
    word_count = 0
   
    # Читаем текст из файла
    with open(file_path, 'r', encoding='utf-8') as file:
        for line in file:
            line_count += 1  # Увеличиваем счетчик строк
            word_count += len(line.split())  # Увеличиваем счетчик слов по количеству слов в строке
   
    return line_count, word_count

# Указываем путь к файлу
file_path = 'фразы1.txt'

# Подсчитываем строки и слова
lines, words = count_lines_and_words(file_path)

# Выводим результаты
print(f"Количество строк в файле: {lines}")
print(f"Количество слов в файле: {words}")


   **


Количество строк в файле: 33504
Количество слов в файле: 645511


Рецензии