math.sin неверный результат - PullRequest
7 голосов
/ 06 августа 2009
>>> import math
>>> math.sin(68)
-0.897927680689

Но

sin(68) = 0.927 (3 decimal places)

Есть идеи, почему я получаю этот результат?
Спасибо.

Ответы [ 2 ]

35 голосов
/ 06 августа 2009
>>> import math
>>> print math.sin.__doc__
sin(x)

Return the sine of x (measured in radians).

math.sin ожидает, что аргумент будет в радианах, а не в градусах, поэтому:

>>> import math
>>> print math.sin(math.radians(68))
0.927183854567
0 голосов
/ 01 июня 2019

по умолчанию угол в Python рассчитывается в радианах. Таким образом, вы можете попытаться умножить угол (градусы) на 0,01745 - чтобы преобразовать его в градусы и ввести значения. печать (Math.sin (60 * 0,01745)) 0,8659266112878228

...