Расстояние между двумя словами равной длины - это количество позиций, в которых эти слова различаются. В заданном предложении найти пару слов заданной длины с максимальным расстоянием. Язык программирования - питон. Напишите пожалуйста с разъяснениями
Answers & Comments
Ответ:
s = input("Введите предложение:")
length = int(input("Введите длину слова:"))
index_word = [i for i,x in enumerate(s.split()) if len(x) == length]
max_distance = 0
if index_word :
----for i in range(len(index_word)-1):
--------distance = index_word[i+1] - index_word[i]
--------if max_distance < distance:
------------max_distance = distance
----print(max_distance-1)
else:
----print('нет слов длиной',length)
Объяснение:
S и length думаю понятно...
index_word - создает список из порядковых номеров (-1) слов, длина которых равняется length
Два условия, если index_word не пустой и если он пустой.
Если он не пустой, то:
1) i = индекс каждого номера в списке index_word ( - 1, чтобы не было ошибки list out of range)
2) dinstance = отнимаем последующий номер от предыдущего
3) Если ответ (max_distance) < distance мы приравниваем его к ответу.
4) После окончания цикла выводим ответ (max_distance - 1), то есть расстояние
Если пустой:
Нет слов с длиной length