Python Try-Except: почему он не ловит его?

Я пытаюсь освоить попытку / исключение, и я просто не могу заставить его работать. Я хочу, чтобы это останавливалось для отрицательного или очень большого числа:

try:
    h > 0.
except:
    return "Your distance (", h, ") is negative"
try:
    h < 3700000.
except:
    return "Your distance (", h, ") is outside the range this model"
else:
    # Return Correct Value:
    return g0*(r/(r+h))**2

Тем не менее, он продолжает идти до конца, независимо от того, какое значение я придаю ему... Я пробовал разные вещи после, кроме как ложные и другие вещи, но ни одна из них не работает:

>>> print(earth_gravity(1))
1.0
9.80649692152011
>>> print(earth_gravity(-1))
-1.0
9.806503078481338

1 ответ

Решение

Потому что никаких исключений не возникает. Используйте if заявление, чтобы проверить правильность условия вместо этого.

if h > 0:
   ...
elif ...:
   ...
else:
   ...
Другие вопросы по тегам