Функция Python's range увеличивает значение на 1. Первый аргумент в range
равен start
, второй - stop
и 3-й (необязательно) аргументравен step
, то есть на что он увеличивается.У вас есть 2 варианта здесь.
Либо начните с нижнего числа и остановитесь на более высоком :
if int(windChill) in range(-24, -1):
Или сохраните то, что у вас есть, но скажите range
, чтобы увеличить на -1 :
if int(windChill) in range(-1, -24, -1):
Оба вышеперечисленных результата принесут вам одинаковый результат, хотя, к вашему сведению, оба они приведут к обратному списку друг друга, если вы запустите на них list()
print(list(range(-24, -1)))
#[-24, -23, -22, -21, -20, -19, -18, -17, -16, -15, -14, -13, -12, -11, -10, -9, -8, -7, -6, -5, -4, -3, -2]
print(list(range(-1, -24, -1)))
#[-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23]
Редактировать
Если копать глубже, диапазоны определяются по следующим формулам:
Для положительного шага содержимое диапазонаr
определяются по формуле r[i] = start + step*i
, где i >= 0
и r[i] < stop
.
Для отрицательного шага содержимое диапазона все еще определяется по формуле r[i] = start + step*i
, но ограниченияi >= 0
и r[i] > stop
.
Ссылка
Таким образом, по сути, range
фактически исключает значение стопа в моих примерах (соответственно -1
и -24
) , поэтому обязательно примите это во внимание.Используйте
if int(windChill) in range(-24, 0):
#or
if int(windChill) in range(-1, -25, -1):