2015-09-10 2 views
1

Я не знаю, что я делаю неправильно.Математический модуль Python показывает совершенно неправильные результаты?

from math import * 
# triangle Law of Sines test: 
a = float(3) 
b = float(3) 
c = 4.24264 

A = float(45) 
B = float(45) 
C = float(90) 

# it should be equal to the diameter of the triangle's 
# ...circumcircle when convert radians to degrees (2.12132) : 
print a /sin(A) 
print c /sin(C) 

# and just test angles : 
print degrees(sin(float(45))) # 'SHOULD BE 2.8284' 
print degrees(sin(float(90))) # 'SHOULD BE 1' 

... и распечатку:

>> 3.52566408941 
>> 4.74570003753 
>> 48.7531807286 
>> 51.2222357231 
+2

Сторона примечания: не запрашивайте * не * downvoting. Рассмотрите их как знак, который говорит вам улучшить свой пост, не бойтесь их, научитесь улучшать в таких случаях. – Maroun

+1

'degrees()' преобразует радианы в градусы - два вида углов. Синусы и косинусы не являются углами (их аргумент есть). Проверьте свою математику. Например, 'sin (радианы (90))' равно 1; не конвертировать. – alexis

+0

@ Марун Я не забочусь о конструктивном недовольстве, но не люблю смелых ненавистников. – Alex

ответ

3

Вы должны сделать следующее:

sin(radians(90)) 

radians преобразовать заданный угол из градусов в радианы , и так как sin ожидает radians, теперь он должен печатать 1, как вы ожидали.

+2

Мне нелегко было пытаться преобразовать яблоки в апельсины. Благодарю. – Alex

Смежные вопросы