Załóżmy, że chcę sprawdzić, czy x
należy do zakresu od 0 do 0,5. Jak mogę to zrobić?Jak sprawdzić, czy liczba należy do określonego zakresu w Pythonie?
Odpowiedz
print 'yes' if 0 < x < 0.5 else 'no'
range()
jest do generowania tablic kolejnych liczb całkowitych
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: Brak odniesienia do dokumentacji i nie ma przykładu, co tak naprawdę robi. +1: Bądź grzeczny w obliczu absurdalnego pytania. –
"Range" to również angielskie słowo, nie tylko nazwa funkcji;) –
>>> s = 1.1
>>> 0<= s <=0.2
False
>>> 0<= s <=1.2
True
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.
Twoja alternatywna wersja jest po prostu całkowicie błędna – SilentGhost
źle, jak w koncepcji-źle, nie jest typowo błędna – SilentGhost
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
Old Faithful:
if n >= a and n <= b:
I to nie wygląda jak Perl (żart)
To nie jest Python. –
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]
if num in range(min, max):
"""do stuff..."""
else:
"""do other stuff..."""
To nie zadziała dla przykładu OP na 'float's. Zobacz odpowiedź @ vartec. –
Prawdopodobnie jest to bardzo powolna implementacja. –
podziękować you..i został zakres pojęcia() jest jakaś wbudowana metoda? – user46646
wbudowana metoda do czego? – SilentGhost
wbudowana metoda zapisu 0
vartec