Всё нормально воспринимает, как написана программа, так и считает. a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
max_number = a[5]
for number in a:
if number > max_number:
max_number = number
print('числа больше 5:', max_number) Что делает программа? Проходит по списку и определяет максимальное значение. Какое максимальное значение в списке? 89. Вот это значение в итоге и выводится. Ну а то, что при этом ещё и пишется «числа больше 5», на суть вычислений не влияет.
Правильный вариант будет такой: a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
print('числа больше 5:', end=' ')
for number in a:
if number > 5:
print(number, end=' ') Можно и короче: a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
print('числа больше 5:', *(number for number in a if number > 5))