Обнаружил один 'естественный', но тем нe мeнee, неприятный, баг питона:
>>> from math import *
>>> def test(x):
... return (1+tan(x))*cos(x)
>>> test(0.5*pi)
1.0
Для сравнения:
>>> cos(pi/2)
-1.60768938580085E-16
>>> (1+tan(pi/2.))
-6220106998478820.0
Понятно, что тангенс при pi/2 нe определен и в данном случае ввиду некоторой погрешности вычисляется нe tan(pi/2.), а некоторое приближенное к нему значение. Блин, но ведь можно было и какой-нибудь эксцепшн 'прицепить' к данному случаю.
ответ опубликован:
Рейтинг: 5
голосов: 2
- 5
- 1
- 2
- 3
- 4
- 5

