Когда вы проверяете значение каждого элемента в списке, вместо этого вы случайно проверяете значение всего списка.
if x > 24.54 and x < 47.54:
должно стать
if i > 24.54 and x < 47.54:
, потому что i
- это переменная, которая принимает значение каждого элемента в списке при выполнении итерации.
Кроме того, вы хотите переместить оператор return наружуцикл, в противном случае цикл завершится после 1 итерации.