Предмет: Информатика, автор: aty64

PYTHON
найти самое длинное слово в строке, нельзя использовать split() Если слов несколько, то вывести любое из них ​

Ответы

Автор ответа: xmart1n
1

Ответ:

def find_longest_word(sentence):

   longest_word = ""

   current_word = ""

   

   # Итерируемся по каждому символу в строке

   for char in sentence:

       # Если текущий символ - буква, то добавляем его к текущему слову

       if char.isalpha():

           current_word += char

       # Если текущий символ - не буква и текущее слово не пустое, то проверяем его длину

       elif current_word:

           # Если текущее слово длиннее текущего самого длинного слова, то сохраняем его как новое самое длинное слово

           if len(current_word) > len(longest_word):

               longest_word = current_word

           # Обнуляем текущее слово, чтобы начать новое слово

           current_word = ""

   

   # Если последнее слово в строке является самым длинным, то проверяем его длину перед возвратом

   if current_word and len(current_word) > len(longest_word):

       longest_word = current_word

   

   return longest_word

Объяснение:

Эта функция find_longest_word() принимает строку в качестве аргумента и возвращает самое длинное слово в этой строке. Она итерируется по каждому символу в строке и формирует текущее слово, если текущий символ является буквой. Когда она обнаруживает символ, который не является буквой, она проверяет длину текущего слова и сохраняет его как самое длинное слово, если оно длиннее, чем текущее самое длинное слово. После этого она обнуляет текущее слово, чтобы начать новое слово. Если последнее слово в строке является самым длинным, то она проверяет его длину перед возвратом.

Пример:
sentence = "The quick brown fox jumps over the lazy dog"

longest_word = find_longest_word(sentence)

print("Самое длинное слово в предложении: ", longest_word)

Здесь мы передали функции find_longest_word() строку "The quick brown fox jumps over the lazy dog". Функция вернула самое длинное слово в этой строке, которое является "jumps"

Похожие вопросы
Предмет: Литература, автор: rafael49fnc
Предмет: Математика, автор: zenovjevs
Предмет: Математика, автор: Aliev007p