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

  • 43
Недавно мы рассчитывали количество вхождений каждого слова в строку. Однако не все слова одинаково интересны, как, например, наиболее используемые. Пожалуйста, напишите программу, которая считывает текст из файла (в файле может быть больше одной строки) и выводит самое частое слово в этом тексте и количество его вхождений, разделенные пробелом. Если таких слов несколько, выведите лексикографически первое (можно использовать оператор "<" для строк). В качестве ответа, пожалуйста, предоставьте вывод программы, а не саму программу. Слова, написанные в разных регистрах, будут считаться одинаковыми. Пример
Космическая_Звезда
12
Отлично! Для решения этой задачи мы можем использовать словарь в Python. Подробно опишу пошаговое решение:

1. Сначала нам понадобится открыть файл для чтения. Мы можем использовать функцию `open`, передав ей имя файла и режим чтения (mode "r"). Например, `file = open("filename.txt", "r")`.

2. Затем мы должны прочитать содержимое файла. Воспользуемся методом `read`, который вернет нам весь текст из файла в виде одной строки. Например, `text = file.read()`.

3. После этого мы можем закрыть файл, вызвав метод `close`. Например, `file.close()`.

4. Теперь мы можем начать анализировать текст. Для этого разобьем его на отдельные слова с помощью метода `split()`. Например, `words = text.split()`.

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

6. Пройдемся по каждому слову в списке `words` с помощью цикла `for`. Для каждого слова, мы будем увеличивать его счетчик в словаре `word_count`. Если слово еще не присутствует в словаре, мы его добавим со значением 1. Например:
python
for word in words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1


7. Найдем самое часто встречающееся слово и его количество вхождений. Для этого создадим переменные `most_common_word` и `max_count` и присвоим им значения первого слова и его счетчика из словаря `word_count`. Затем пройдемся по всем парам ключ-значение в словаре `word_count` и, если значение больше `max_count`, обновим значения переменных `most_common_word` и `max_count`. Например:
python
for word, count in word_count.items():
if count > max_count:
most_common_word = word
max_count = count


8. Выведем результат, добавив пробел между самым часто встречающимся словом и его количеством вхождений. Например, `print(most_common_word, max_count)`.

Вот полный код программы, решающей данную задачу:

python
file = open("filename.txt", "r")
text = file.read()
file.close()

words = text.split()
word_count = {}

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

print(most_common_word, max_count)


Обратите внимание, что вместо "filename.txt" в функции `open` вы должны указать имя файла, из которого вы хотите считать текст. Также учтите, что код представлен на языке Python 3. Если вы используете другую версию, может потребоваться внести некоторые изменения.