Если вы используете Python 3 и работаете с целыми числами, вы можете напрямую использовать оператор in
для range
объекта:
def in_an_interval(number):
return number in range(2, 9)
Это очень быстро (простой математический расчет), потому чтоУ range
объектов есть метод .__contains__
.Также обратите внимание, что range
не включает в себя конец, то есть range(2, 8)
на самом деле здесь «2, 3, 4, 5, 6, 7», поэтому я изменил его на range(2, 9)
для вас.
Если вы на самом деле имеете в виду «числа», включая числа с плавающей запятой, то вам лучше использовать операторы сравнения:
def in_an_interval_float(number):
return 2 <= number < 9
Нет шансов проверить произвольное число с плавающей запятой с помощью range
, потому что это неправильноинструмент для этой работы.
Ваш текущий код неверен, потому что он возвращается из всей функции на первой итерации цикла for
:
def in_an_interval(number):
for i in range(2, 8):
return print(bool(i==number))
Возможно, вы хотитевозвращать только при обнаружении и возвращать False
, если не найдено:
def in_an_interval(number):
for i in range(2, 8):
if i == number:
return True
return False