2016-04-26 17 views
2

Я думаю, что у меня багги версия python, потому что я получаю неправильный результат. Если вы наберете это: sin (градусов (39)) * 41/28 прямо в google, вы получите значение 0.92150485832. Это правильное значение для данного уравнения.sin уравнение в python продолжает возвращать неправильный ответ

Однако, когда я пытаюсь выполнить это на python, я получаю значение -1.11258224646.

Код я использовал:

number= float(sin(degrees(39))*41/28) 
print number 

Я также попытался следующий код (удаленные градусов, окружающих 39), которая возвращает значение 1.41127181563.

number= float(sin(39)*41/28) 
print number 

Только для пинков, я также попробовал такой код:

number= float(sin(radians(39))*41/28) 
print number 

Этот код вернул ответ 0.921504858323, который был бы правильный ответ для первого уравнения

Это не должен возможно, поскольку 39 в радианах составляет 0,680678408. И используя это число в уравнении: (sin (0.680678408) * 41)/28 получаем 0,017395421, а не 0,921504858323.

Может кто-нибудь объяснить, что здесь происходит. Я здесь потерялся.

+0

Я ожидаю, что 'радиан (39)' лучше прочитать на английском языке как «преобразовать 39 градусов в радианы» в отличие от «39 в радианах» – infixed

+0

да, но 39 в радианах 0,680678408, который при использовании в уравнение дает 0,017395421, а не 0,921504858323, как python, выплевывает – user6240030

+0

, используя это в python: (sin (radians (39)) * 41)/28 дает: 0.921504858323 используя это в python: (sin (degrees (39)) * 41)/28 дает: -1.11258224646 Оба они ошибаются – user6240030

ответ

2

Объяснение заключается в различии интерпретации слов «градусов» и «радианов» между Google и Python.

  1. В Python эти 2 являются функциями для преобразования из одного блока к другому:

    • math.degrees (х) - Преобразование угла х из радиан в градусы.
    • math.radians (x) - Преобразование угла x из градусов в радианы.

Чтобы оценить "поплавок (sin (радиан (39)) * 41/28)" заявление Python преобразует 39 градусов угла в радианах (0.680678), то вычислительное грех (х), который возвращает синус х радианы, поэтому мы получим грех (39 градусов) * 41/28.

  1. Google использует 2 слова для уточнения единицы измерения, а не для преобразования. оценить «грех (градусы (39)) * 41/28« google понимает его как «грех (39 градусов) * 41/28», поэтому он не преобразует единицы измерения между радианами и градусами. Это всего лишь расчет синуса 39 градусов.