web-dev-qa-db-fra.com

Comment savoir si un nombre appartient à une plage particulière en Python?

Supposons que je veuille vérifier si x appartient à la plage de 0 à 0,5. Comment puis-je le faire?

44
user46646

Non, tu ne peux pas faire ça. range() attend des arguments entiers. Si vous voulez savoir si x se trouve dans cette plage, essayez une forme de ceci:

print 0.0 <= x <= 0.5

Soyez prudent avec votre limite supérieure. Si vous utilisez range() il est exclu (range(0, 5) ne comprend pas 5!)

74
unbeknown
print 'yes' if 0 < x < 0.5 else 'no'

range() sert à générer des tableaux d'entiers consécutifs

26
vartec
>>> s = 1.1
>>> 0<= s <=0.2
False
>>> 0<= s <=1.2
True
7
SilentGhost

J'utiliserais la bibliothèque numpy, qui vous permettrait également de faire cela pour une liste de nombres:

from numpy import array
a = array([1, 2, 3, 4, 5, 6,])
a[a < 2]
5
dalloliogm
if num in range(min, max):
  """do stuff..."""
else:
  """do other stuff..."""
5
b..

Pour vérifier si un certain nombre n est dans la plage inclusive indiquée par les deux nombres a et b, vous effectuez soit

if   a <= n <= b:
    print "yes"
else:
    print "no"

utilisez le remplacement >= et <= avec > et < pour vérifier si n est dans la plage exclusive indiquée par a et b (c'est-à-dire a et b ne sont pas eux-mêmes membres de la gamme).

La plage produira une progression arithmétique définie par les deux (ou trois) arguments convertis en entiers. Voir documentation . Ce n'est pas ce que vous voulez, je suppose.

5
VoidPointer

Vieux fidèles:

if n >= a and n <= b:

Et ça ne ressemble pas à Perl (blague)

3
Ali Afshar