Поделитесь своими знаниями, ответьте на вопрос:
Найдите для переменной m все целые числа для которых значение данного логического выражения (m>1)&(m>9)v(m=70) 1 чему равна сумма найденных чисел? 2 чему равно минимальное значение среди найденных чисел?
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