
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"



Вы можете найти самое длинное слово в строке, не используя метод split()
, следующим образом:
pythondef 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
, которое будет содержать самое длинное слово в строке.
Обратите внимание, что если в строке есть несколько слов с одинаковой максимальной длиной, этот код вернет только первое из таких слов.


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







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili