Предположим, я хочу проверить, принадлежит ли x
к диапазону от 0 до 0,5. Как я могу это сделать?
Как определить, относится ли число к определенному диапазону в Python?
Ответ 1
Нет, вы не можете этого сделать. range()
ожидает целочисленные аргументы. Если вы хотите узнать, находится ли x
внутри этого диапазона, попробуйте следующую форму:
print 0.0 <= x <= 0.5
Будьте осторожны с вашим верхним пределом. Если вы используете range()
, он исключается (range(0, 5)
не содержит 5!)
Ответ 2
print 'yes' if 0 < x < 0.5 else 'no'
range()
предназначен для создания массивов последовательных целых чисел
Ответ 3
Я бы использовал библиотеку numpy, которая позволит вам сделать это и для списка чисел:
from numpy import array
a = array([1, 2, 3, 4, 5, 6,])
a[a < 2]
Ответ 4
>>> s = 1.1
>>> 0<= s <=0.2
False
>>> 0<= s <=1.2
True
Ответ 5
Старый верный:
if n >= a and n <= b:
И это не похоже на Perl (шутка)
Ответ 6
if num in range(min, max):
"""do stuff..."""
else:
"""do other stuff..."""
Ответ 7
Чтобы проверить, находится ли какое-либо число n в инклюзивном диапазоне, обозначенном двумя числами a и b, вы делаете либо
if a <= n <= b:
print "yes"
else:
print "no"
используйте >=
и <=
для замены >
и <
, чтобы проверить, находится ли n
в эксклюзивном диапазоне, обозначенном a
и b
(т.е. a
и b
сами не являются членами диапазона).
Кроме того, вы также можете проверить:
if (b - n) >= a :
print "yes"
...
Диапазон будет производить арифметическую прогрессию, определяемую двумя (или тремя) аргументами, преобразованными в целые числа. См. Документацию . Это не то, что вы хотите, я думаю.