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


Аноним: Можно решить, не используя метод split(), используя цикл forи работая со строками посимвольно.

Вот пример кода на Python:
Аноним: s = "это строка для тестирования самого длинного слова"
max_word = ""
curr_word = ""

for char in s:
if char != " ":
curr_word += char
else:
if len(curr_word) > len(max_word):
max_word = curr_word
curr_word = ""

# Проверяем последнее слово
if len(curr_word) > len(max_word):
max_word = curr_word

print("Самое длинное слово:", max_word)
Аноним: Этот код разбивает ситуацию на слова по пробелам, возвращает слово 'curr_word' и включает его реализацию. Если длина длинного слова больше, чем длина предельного слова 'max_word', то значение 'max_word' заменяется на исходное слово. В конце цикла повторяется слово.
Аноним: Обратите внимание, что этот код вернет только одно из них (поскольку мы не сохраняем все слова с длительным сроком службы, только недавно). Если необходимо сохранить все слова с ограниченной длинной, можно использовать список для их хранения и затем вывести из них любое.

Ответы

Ответ дал: 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"

Вас заинтересует