Напишите программу на языке Python, которая принимает текст и выдает два слова - наиболее часто встречающееся и самое

  • 1
Напишите программу на языке Python, которая принимает текст и выдает два слова - наиболее часто встречающееся и самое длинное слово.
Хвостик
63
Конечно! Чтобы решить эту задачу, нам потребуется использовать строковую манипуляцию и словарь для подсчета количества вхождений каждого слова.

Вот пошаговое решение:

1. Сначала мы должны разбить входной текст на слова. Для этого мы можем использовать метод `split()`, который разделит строку на слова, используя пробел в качестве разделителя.

Пример:
python
text = "Привет, как дела?"
words = text.split()

Результат:
python
["Привет,", "как", "дела?"]


2. Далее мы создадим словарь для подсчета количества вхождений каждого слова в тексте. Мы будем проходить по каждому слову и увеличивать значение в словаре на 1.

Пример:
python
word_counts = {}
for word in words:
if word in word_counts:
word_counts[word] += 1
else:
word_counts[word] = 1

Результат (для данного примера):
python
{"Привет,": 1, "как": 1, "дела?": 1}


3. Теперь у нас есть словарь, который содержит количество вхождений каждого слова в тексте. Мы можем найти наиболее часто встречающееся слово, найдя максимальное значение в словаре. Мы также будем сохранять самое длинное слово в процессе.

Пример:
python
max_count = 0
most_frequent_word = ""
longest_word = ""

for word, count in word_counts.items():
if count > max_count:
max_count = count
most_frequent_word = word
if len(word) > len(longest_word):
longest_word = word

Результат (для данного примера):
python
max_count = 1
most_frequent_word = "Привет,"
longest_word = "Привет,"


4. Наконец, мы можем вернуть найденные наиболее часто встречающееся слово и самое длинное слово в качестве результата.

Пример:
python
def find_most_frequent_and_longest_word(text):
words = text.split()
word_counts = {}
for word in words:
if word in word_counts:
word_counts[word] += 1
else:
word_counts[word] = 1

max_count = 0
most_frequent_word = ""
longest_word = ""

for word, count in word_counts.items():
if count > max_count:
max_count = count
most_frequent_word = word
if len(word) > len(longest_word):
longest_word = word

return most_frequent_word, longest_word


Теперь вы можете вызвать функцию `find_most_frequent_and_longest_word()` с вашим текстом в качестве аргумента и получить наиболее часто встречающееся слово и самое длинное слово в этом тексте.