2009-03-06 12 views

Odpowiedz

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

range() jest do generowania tablic kolejnych liczb całkowitych

+0

podziękować you..i został zakres pojęcia() jest jakaś wbudowana metoda? – user46646

+0

wbudowana metoda do czego? – SilentGhost

+0

wbudowana metoda zapisu 0 vartec

69

Nie, nie mogę tego zrobić. range() oczekuje argumentów całkowitych. Jeśli chcesz wiedzieć, czy x jest wewnątrz tego zakresu spróbować jakiejś formy to:

print 0.0 <= x <= 0.5 

być ostrożnym z górnej granicy. Jeśli używasz range() jest wykluczona (range(0, 5) nie obejmuje 5!)

+1

-1: Brak odniesienia do dokumentacji i nie ma przykładu, co tak naprawdę robi. +1: Bądź grzeczny w obliczu absurdalnego pytania. –

+14

"Range" to również angielskie słowo, nie tylko nazwa funkcji;) –

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

Aby sprawdzić, czy niektóre liczba n jest w zakresie integracyjnego oznaczonego przez dwa numerem A i B to zrobić albo

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

użyć zastąpić >= i <= z > i < sprawdzić czy n jest w ekskluzywnej zakresie oznaczonym przez a i b (tj a i b nie są t są członkami zasięgu).

Zasięg wygeneruje postęp arytmetyczny zdefiniowany przez dwa (lub trzy) argumenty skonwertowane na liczby całkowite. Zobacz documentation. To nie jest to, co chcesz.

+1

Twoja alternatywna wersja jest po prostu całkowicie błędna – SilentGhost

+2

źle, jak w koncepcji-źle, nie jest typowo błędna – SilentGhost

+0

Cóż, działa ona dla liczb całkowitych. Dla elementów pływających * może * działać, w zależności od wartości b i n. – Abgan

3

Old Faithful:

if n >= a and n <= b: 

I to nie wygląda jak Perl (żart)

+8

To nie jest Python. –

5

chciałbym użyć biblioteki numpy, który pozwoli Ci to zrobić za pomocą listy numerów, jak również :

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

dla zakresu (od 0.0 do 5.0) do: a [numpy.logical_and (0.0 ecoe

+0

Jest to wolniejsza i bardziej złożona niż najlepiej oceniona odpowiedź. –

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

To nie zadziała dla przykładu OP na 'float's. Zobacz odpowiedź @ vartec. –

+0

Prawdopodobnie jest to bardzo powolna implementacja. –