В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Xbdjdndskej
Xbdjdndskej
24.02.2022 05:36 •  Другие предметы

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

В качестве ответа укажите вывод программы, а не саму программу.

Слова, написанные в разных регистрах, считаются одинаковыми.

Sample Input:

abc a bCd bC AbC BC BCD bcd ABC
Sample Output:

abc 3
Внутри файла это:XdddpXaaa dY cbbaa dY ZcTT UTXUpaUp TaT Y dY cdYZcpT TTTUZYpU dX TU bXYdY bTZZZYdYc dY bU ZaZYXX cadddaZ ZcTT YZY UpXZZ pZXcUdd Y UbpadcTZp Z U YZZ c U bU U bddTaUaZX p d U padTaYbdU UpXZZ cdYZcpT
Up aaZY aaZY capdcpZd ZbaUXbZd aaZY TcUp YTpp pUZYapTZX pUZYapTZX TUpX TcUp dcTY aaZY bX TcUp p TZZ UYc pUZYapTZX pUpc Yb pYp apcdd TcUp pUZddXUU XbdbUadXT ZXpTpX ZpTT Ypc YdXcYcYUb
dTd adaadYp ZXpTpY TYTZY pUb dTd XUa bZTcd ppZ ZXpTpY ZXcXUZaX caXpb TXUYbY pUb paUpadZ bZZUaXp XTccTXd TYTZY a dUYTYc Up a a cZbdd dcUXpXTU TaYa ZXcXUZaX bZdada ZXpTpY Y bcpbYbbc
ZZcbaZUZ cpTa ab T ab cpTa ZTY daZZYcTT ab adZ TbTYpbb UZTa dXZcT cpTa Uddbcp TXcT X dTacb bcpUaU X XapY XZYp Y Uddbcp cpTa T Y Xbpa T Yp cpTa c T YXdbUUb XZYp dTacb T acUabXUc bTcdaYpb XbUYcdp YdaYU YTaYacYd ZYcZ ZTY
aXYZYaXTX UYTdbTXbc ccab Y bXpY bYcYaXpd UYTdbTXbc XYZZXaddp XdX YdpUcYYbd Y adYXZcba ZUc dYZcYT U UYpcUbb Zda cpcZUaU YcXaYU bXpY aXYZYaXTX UZZXUXYU TTbUXTd
ZcT pT YYdZbcYX ZbZUZpZ YZacZU Xd ZbZUZpZ aTUUYZUcc bZYUUaTZ YZacZU cXdaTpb bUT U dbXc Yc cZaaY bpYpUTcU bUcXb XpbY YYdZbcYX ZXXpTTcU YZacZU UccacYUa dXpcZTp cXY c dTY cUZTp bU acdU dTXccpd UUUTaZ UccacYUa bppXYZa XY pYcU ZUbpab XUTY pUXUadYda dTXccpd XUUXa d U bbYpbZ UpTbTXT dXZX bU dTY TTYapX UZad Zdbc bbYpbZ UXYdX UpXUTTa

Показать ответ
Ответ:
sofafomenkosofa
sofafomenkosofa
26.01.2024 13:06
Для решения данной задачи необходимо прочитать текст из файла и выполнить следующие шаги:

1. Создать пустой словарь `word_count`, который будет содержать количество вхождений каждого слова.
2. Прочитать текст из файла.
3. Разбить текст на слова, игнорируя разделительные символы и знаки препинания. Для этого можно использовать функцию `split()` предварительно приведя весь текст к нижнему регистру с помощью метода `lower()`.
4. Для каждого слова в списке слов:
1. Если слово уже присутствует в словаре `word_count`, увеличить его значение на 1.
2. Если слово отсутствует в словаре `word_count`, добавить его в словарь со значением 1.
5. Отсортировать словарь `word_count` по значениям в убывающем порядке, используя функцию `sorted()` с параметром `reverse=True`.
6. Получить первый элемент из отсортированного словаря, который будет содержать самое частое слово и его количество вхождений.
7. Вывести результат в формате "самое_частое_слово количество_вхождений".

Применим этот алгоритм к приведенному примеру:

```python
# Чтение текста из файла
with open("your_file_name.txt", "r") as file:
text = file.read()

# Преобразование текста в нижний регистр и разбиение на слова
words = text.lower().split()

# Создание словаря для подсчета количества вхождений слов
word_count = {}

# Подсчет количества вхождений каждого слова
for word in words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1

# Сортировка словаря по значениям в убывающем порядке
sorted_word_count = sorted(word_count.items(), key=lambda x: x[1], reverse=True)

# Получение самого часто встречающегося слова и его количество вхождений
most_common_word = sorted_word_count[0][0]
count = sorted_word_count[0][1]

# Вывод результата
print(most_common_word, count)
```

Вывод:

```
abc 3
```
0,0(0 оценок)
Популярные вопросы: Другие предметы
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота