PYTHON
найти самое длинное слово в строке, нельзя использовать split() Если слов несколько, то вывести любое из них
Ответы
Ответ:
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"