Вопрос задан 04.06.2023 в 07:41. Предмет Информатика. Спрашивает Новопашина Ксюша.

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

вывести любое из них ​
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Проходский Влад.

Ответ:

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"

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вы можете найти самое длинное слово в строке, не используя метод split(), следующим образом:

python
def find_longest_word(string): word = "" max_length = 0 current_word = "" current_length = 0 for char in string: if char == " ": if current_length > max_length: max_length = current_length word = current_word current_word = "" current_length = 0 else: current_word += char current_length += 1 # Проверяем последнее слово if current_length > max_length: word = current_word return word # Пример использования sentence = "Это предложение содержит несколько слов" longest_word = find_longest_word(sentence) print("Самое длинное слово:", longest_word)

В этом коде мы проходим по каждому символу в строке и строим текущее слово current_word и его длину current_length. Когда мы достигаем пробела, проверяем, является ли текущее слово самым длинным. Если да, то обновляем max_length и word. В конце строки мы снова проверяем последнее слово. Затем возвращаем word, которое будет содержать самое длинное слово в строке.

Обратите внимание, что если в строке есть несколько слов с одинаковой максимальной длиной, этот код вернет только первое из таких слов.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос