Недавно мы провели подсчет количества вхождений каждого слова в строку. Однако, интереснее будет проанализировать

Недавно мы провели подсчет количества вхождений каждого слова в строку. Однако, интереснее будет проанализировать наиболее часто употребляемые слова. Напишите программу, которая считывает текст из файла (в файле может быть несколько строк) и выводит самое часто встречающееся слово вместе с количеством его вхождений, разделенных пробелом. Если таких слов несколько, выведите лексикографически первое (можно использовать оператор < для строк). В качестве ответа приведите пример вывода программы, а не саму программу. Слова, написанные в разных регистрах, должны считаться одинаковыми.
Веселый_Зверь

Веселый_Зверь

Добро пожаловать! Для решения данной задачи мы можем использовать словарь, чтобы подсчитать количество вхождений каждого слова в тексте. Вот пример того, как может выглядеть программа:

python
def count_words(filename):
# создаем словарь для подсчета вхождений слов
word_count = {}

# открываем файл для чтения
with open(filename, "r") as file:
# читаем каждую строку из файла
for line in file:
# разбиваем строку на слова
words = line.lower().split()

# перебираем каждое слово и увеличиваем счетчик в словаре
for word in words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1

# находим наиболее часто встречающееся слово
most_common_word = ""
max_count = 0

for word, count in word_count.items():
if count > max_count:
most_common_word = word
max_count = count
elif count == max_count:
if word < most_common_word:
most_common_word = word

# выводим результаты
result = most_common_word + " " + str(max_count)
return result

# пример использования функции
filename = "text.txt" # здесь необходимо указать имя файла, содержащего текст
output = count_words(filename)
print(output)


Пример вывода программы:

самое 3

В этом примере программа считывает текст из файла "text.txt". Она подсчитывает количество вхождений каждого слова в тексте и выводит самое часто встречающееся слово вместе с количеством его вхождений, разделенных пробелом.
Знаешь ответ?
Задать вопрос
Привет!
hello