Вынесение инварианта из цикла, или Пропущенный ответ на учебное упражнение
*** Марк Лутц в своей книге «Изучаем Python», в качестве упражнения в 3-й части книги, приводит следующий код (Марк Лутц. Изучаем Python. М., СПб, 2020. Т. 1. С. 489 - 490. [оригинальное название – Mark Lutz. Learning Python; перевод с английского Ю.Н. Артеменко]): L = [1, 2, 4, 8, 16, 32, 64] X = 5 found = False i = 0 while not found and i < len(L): if 2 ** X == L[i]: found = True else: i = i + 1 if found: print('at index', i) # at index 5 else: print(X, 'not found') *** Этот код реализует классический алгоритм линейного поиска с использованием цикла while...