2009-03-06 30 views

Respuesta

25
print 'yes' if 0 < x < 0.5 else 'no' 

range() es para generar matrices de enteros consecutivos

+0

gracias you..i obtuve una gama() concepto ¿hay algún método integrado? – user46646

+0

método incorporado para qué? – SilentGhost

+0

método incorporado para escribir 0 vartec

69

No, no se puede hacer eso. range() espera argumentos enteros. Si desea saber si x está dentro de este rango intentar alguna forma de esta:

print 0.0 <= x <= 0.5 

tener cuidado con su límite superior. Si utiliza range() se excluye (range(0, 5) no incluye 5!)

+1

-1: No hay referencia a la documentación y no hay ningún ejemplo de qué rango realmente hace. +1: Ser educado frente a una pregunta absurda. –

+14

"Rango" es también una palabra en inglés, no solo un nombre de función;) –

4
>>> s = 1.1 
>>> 0<= s <=0.2 
False 
>>> 0<= s <=1.2 
True 
3

Para comprobar si un número n está en el rango inclusivo denotado por los dos número A y B se cumple alguna

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

utiliza el reemplazar >= y <= con > y < para comprobar si n se encuentra en la gama exclusiva denotado por a y b (es decir a y b no son t ellos mismos miembros de la gama).

El rango producirá una progresión aritmética definida por los dos (o tres) argumentos convertidos en enteros. Vea el documentation. Esto no es lo que quieres, supongo.

+1

su versión alternativa es simplemente errónea – SilentGhost

+2

mal como en concepto incorrecto, no error de tipo incorrecto – SilentGhost

+0

Bueno, funciona para enteros. Para flotantes, * puede * funcionar, según los valores de by n. – Abgan

3

fiel viejo:

if n >= a and n <= b: 

Y no se ve como Perl (broma)

+8

Esto no es Pythonic. –

5

me gustaría utilizar la biblioteca numpy, lo que permitirá hacer esto para una lista de números, así :

from numpy import array 
a = array([1, 2, 3, 4, 5, 6,]) 
a[a < 2] 
+1

dentro de un rango (de 0.0 a 5.0) do: a [numpy.logical_and (0.0 ecoe

+0

Esto es más lento y más complejo que la respuesta mejor calificada. –

3
if num in range(min, max): 
    """do stuff...""" 
else: 
    """do other stuff...""" 
+0

Esto no funcionará para el ejemplo del OP de 'float's. Ver la respuesta de @ vartec. –

+0

Probablemente, esta es una implementación muy lenta. –

Cuestiones relacionadas