Есть задача написать программу на языке Python, которая принимает текст и находит два слова: самое часто встречающееся

  • 10
Есть задача написать программу на языке Python, которая принимает текст и находит два слова: самое часто встречающееся и самое длинное. Необходимо решить задачу без использования команды import. Если вы сможете помочь, буду признателен.
Zvezdochka
5
Конечно! Я помогу вам решить данную задачу.

Для начала, нам понадобится написать программу на языке Python, которая будет принимать текст и находить два слова: самое часто встречающееся и самое длинное.

Для решения этой задачи мы можем использовать различные функции и методы строки в Python. Давайте рассмотрим подробное пошаговое решение:

1. Сначала определим функцию `find_common_longest_words`, которая будет принимать текст в качестве аргумента.

python
def find_common_longest_words(text):
...


2. Затем, создадим словарь, в котором будем хранить количество вхождений каждого слова в тексте. Для этого разобьем текст на слова с помощью метода `split()` и пройдемся по полученному списку слов с помощью цикла `for`. Для избежания учета знаков препинания, мы можем использовать метод `isalpha()`, чтобы проверить, является ли каждый символ слова буквой. Если слово уже есть в словаре, увеличим его значение на 1, иначе добавим его в словарь со значением 1.

python
def find_common_longest_words(text):
words = text.split()
word_count = {}
for word in words:
if word.isalpha():
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
...


3. Теперь, найдем самое часто встречающееся слово. Для этого воспользуемся функцией `max()`, которая позволяет найти максимальное значение из словаря. Мы передадим ей метод `get()` со значением по умолчанию 0, чтобы избежать ошибки, если слово встречается в тексте только один раз.

python
def find_common_longest_words(text):
words = text.split()
word_count = {}
for word in words:
if word.isalpha():
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1

most_common_word = max(word_count, key=word_count.get, default="")
...


4. Далее, найдем самое длинное слово. Для этого воспользуемся функцией `max()`, передав в нее список слов и аргумент `key=len`, который указывает на использование длины слова в качестве ключа для сравнения.

python
def find_common_longest_words(text):
words = text.split()
word_count = {}
for word in words:
if word.isalpha():
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1

most_common_word = max(word_count, key=word_count.get, default="")
longest_word = max(words, key=len, default="")

return most_common_word, longest_word


5. Наконец, вызовем нашу функцию `find_common_longest_words` с передачей ей текста, и выведем результат.

python
text = "Пример текста, который мы можем использовать для проверки нашей программы."
result = find_common_longest_words(text)
print("Самое часто встречающееся слово:", result[0])
print("Самое длинное слово:", result[1])


Целиком вот готовый код, который вы можете скопировать и запустить:

python
def find_common_longest_words(text):
words = text.split()
word_count = {}
for word in words:
if word.isalpha():
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1

most_common_word = max(word_count, key=word_count.get, default="")
longest_word = max(words, key=len, default="")

return most_common_word, longest_word

text = "Пример текста, который мы можем использовать для проверки нашей программы."
result = find_common_longest_words(text)
print("Самое часто встречающееся слово:", result[0])
print("Самое длинное слово:", result[1])


Таким образом, наша программа будет находить самое часто встречающееся слово и самое длинное слово в заданном тексте.