Предмет: Информатика, автор: qwerty12687

Расстояние между двумя словами равной длины - это количество позиций, в которых эти слова различаются. В заданном предложении найти пару слов заданной длины с максимальным расстоянием. Язык программирования - питон. Напишите пожалуйста с разъяснениями ​

Ответы

Автор ответа: Kilaqueen
1

Ответ:

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


qwerty12687: привет. есть ошибка в программе. При вводе вывода программа выдаёт- 1, хотя должно выводить длину слова, которую мы задаём
Похожие вопросы
Предмет: Математика, автор: Ернурай