Supposons que je veuille vérifier si x
appartient à la plage de 0 à 0,5. Comment puis-je le faire?
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!)
print 'yes' if 0 < x < 0.5 else 'no'
range()
sert à générer des tableaux d'entiers consécutifs
>>> s = 1.1
>>> 0<= s <=0.2
False
>>> 0<= s <=1.2
True
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]
if num in range(min, max):
"""do stuff..."""
else:
"""do other stuff..."""
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.
Vieux fidèles:
if n >= a and n <= b:
Et ça ne ressemble pas à Perl (blague)