2017-02-14 20 views
-4

Я пытался создать простую программу расчета тригонометрии с прямоугольными треугольниками с учетом возможных значений «x», «none» и двух других с числами. Я знаю о функциях math.cos(), math.sin() и т. Д., Но они дают мне разные цифры от того, что мне дает мой калькулятор. Вот пример некоторого кода, который я пытался использовать:Почему функции тригонометрии Python дают разные результаты, чем мой калькулятор?

if hyp == "none" and opp == "x": 
    answer = adj * math.tan(ang) 

После ввода значений None для гип, 6 для прил, x для ОПП и 37 для анг, я получаю значение:

-289.036 

на моем калькуляторе, то же самое встречается с «4.521» , Почему они дают разные результаты?

+2

Подсказки: Единица. Единицы важны! –

+0

Hint2: Углы углов не являются градусами. – SiHa

+0

Я это знаю. Я цитирую: «поскольку они, похоже, дают разные результаты из-за радианов/градусов или чего-то подобного». Я ищу решение. –

ответ

1

Посмотрите на documentation для math.tan функции в Python:

math.tan(x)

Возвращает тангенс х радианах

Это относится ко всем тригонометрические функции. Вы должны преобразовать градусы в радианы первыми, с функцией math.radians:

math.tan(math.radians(ang)) 
0
answer = adj * math.tan(math.radians(ang)) 

Python математика Lib требует радиана работать, это преобразование выше следует сделать трюк

+0

@AndrewLi спасибо –