└── README.md /README.md: -------------------------------------------------------------------------------- 1 | from collections import Counter 2 | import re 3 | 4 | def most_common_words(text, n=5): 5 | # Разбиваем текст на слова, игнорируя знаки пунктуации и пробелы 6 | words = re.findall(r'\w+', text.lower()) 7 | # Используем Counter для подсчета количества вхождений каждого слова 8 | word_counts = Counter(words) 9 | # Получаем наиболее часто встречающиеся слова 10 | common_words = word_counts.most_common(n) 11 | return common_words 12 | 13 | if __name__ == "__main__": 14 | text = input("Введите текст для анализа: ") 15 | n = int(input("Введите количество наиболее часто встречающихся слов, которые нужно вывести: ")) 16 | common_words = most_common_words(text, n) 17 | print("Наиболее часто встречающиеся слова в тексте:") 18 | for word, count in common_words: 19 | print(f"{word}: {count} раз(а)") 20 | 21 | from collections import Counter 22 | import re 23 | 24 | def most_common_words(text, n=5, stop_words=None): 25 | """ 26 | Возвращает n наиболее часто встречающихся слов в тексте. 27 | 28 | Параметры: 29 | text (str): Входной текст для анализа. 30 | n (int): Количество наиболее часто встречающихся слов для вывода (по умолчанию 5). 31 | stop_words (set): Набор стоп-слов для исключения из анализа (по умолчанию None). 32 | 33 | Возвращает: 34 | list: Список кортежей (слово, количество). 35 | """ 36 | if stop_words is None: 37 | stop_words = set() 38 | 39 | # Разбиваем текст на слова, игнорируя знаки пунктуации и пробелы 40 | words = re.findall(r'\w+', text.lower()) 41 | # Фильтруем стоп-слова 42 | filtered_words = [word for word in words if word not in stop_words] 43 | # Используем Counter для подсчета количества вхождений каждого слова 44 | word_counts = Counter(filtered_words) 45 | # Получаем наиболее часто встречающиеся слова 46 | common_words = word_counts.most_common(n) 47 | return common_words 48 | 49 | if __name__ == "__main__": 50 | try: 51 | text = input("Введите текст для анализа: ") 52 | n = int(input("Введите количество наиболее часто встречающихся слов, которые нужно вывести: ")) 53 | 54 | # Пример набора стоп-слов, можно дополнить по необходимости 55 | stop_words = {'и', 'в', 'на', 'с', 'по', 'как', 'что', 'это'} 56 | 57 | common_words = most_common_words(text, n, stop_words) 58 | 59 | print("Наиболее часто встречающиеся слова в тексте:") 60 | for word, count in common_words: 61 | print(f"{word}: {count} раз(а)") 62 | 63 | except ValueError: 64 | print("Ошибка: введите корректное число для количества слов.") 65 | 66 | from collections import Counter 67 | import re 68 | 69 | def most_common_words(text, n=5, stop_words=None): 70 | """ 71 | Возвращает n наиболее часто встречающихся слов в тексте. 72 | 73 | Параметры: 74 | text (str): Входной текст для анализа. 75 | n (int): Количество наиболее часто встречающихся слов для вывода (по умолчанию 5). 76 | stop_words (set): Набор стоп-слов для исключения из анализа (по умолчанию None). 77 | 78 | Возвращает: 79 | list: Список кортежей (слово, количество). 80 | """ 81 | if stop_words is None: 82 | stop_words = set() 83 | 84 | # Разбиваем текст на слова, игнорируя знаки пунктуации и пробелы 85 | words = re.findall(r'\w+', text.lower()) 86 | # Фильтруем стоп-слова 87 | filtered_words = [word for word in words if word 88 | 89 | from collections import Counter 90 | import re 91 | 92 | def most_common_words(text, n=5, stop_words=None): 93 | """ 94 | Возвращает n наиболее часто встречающихся слов в тексте. 95 | 96 | Параметры: 97 | text (str): Входной текст для анализа. 98 | n (int): Количество наиболее часто встречающихся слов для вывода (по умолчанию 5). 99 | stop_words (set): Набор стоп-слов для исключения из анализа (по умолчанию None). 100 | 101 | Возвращает: 102 | list: Список кортежей (слово, количество). 103 | """ 104 | if stop_words is None: 105 | stop_words = set() 106 | 107 | # Разбиваем текст на слова, игнорируя знаки пунктуации и пробелы 108 | words = re.findall(r'\w+', text.lower()) 109 | # Фильтруем стоп-слова 110 | filtered_words = [word for word in words if word not in stop_words] 111 | # Используем Counter для подсчета количества вхождений каждого слова 112 | word_counts = Counter(filtered_words) 113 | # Получаем наиболее часто встречающиеся слова 114 | common_words = word_counts.most_common(n) 115 | return common_words 116 | 117 | if __name__ == "__main__": 118 | try: 119 | text = input("Введите текст для анализа: ") 120 | n = int(input("Введите количество наиболее часто встречающихся слов, которые нужно вывести: ")) 121 | 122 | # Пример набора стоп-слов, можно дополнить по необходимости 123 | stop_words = {'и', 'в', 'на', 'с', 'по', 'как', 'что', 'это'} 124 | 125 | common_words = most_common_words(text, n, stop_words) 126 | 127 | print("Наиболее часто встречающиеся слова в тексте:") 128 | for word, count in common_words: 129 | print(f"{word}: {count} раз(а)") 130 | 131 | except ValueError: 132 | print("Ошибка: введите корректное число для количества слов.") 133 | 134 | --------------------------------------------------------------------------------