Неправильный результат - PullRequest
       6

Неправильный результат

0 голосов
/ 06 сентября 2018

Мой код:

import math
x = input()
print(math.asin(math.radians(float(x))))

Мой x был 0,7071067811865475, и в результате было какое-то иррациональное число от 0 до 1, но, насколько мне известно, оно должно было быть около 45

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

Вы конвертируете неправильное число с неправильной функцией.

>>> import math
>>> x = 0.7071067811865475
>>> math.degrees(math.asin(x))
44.99999999999999
>>>

То есть, учитывая x (что является синусом угла), вызовите asin для вычисления угла (в радианах), а затем используйте degrees чтобы преобразовать этот угол в градусы.

0 голосов
/ 06 сентября 2018

math.radians преобразует в радианы, вы хотите math.degrees.

Это также не в том месте, вы конвертируете число, а не угол. Вы хотите

print(math.degrees(math.asin(float(x))))

https://docs.python.org/3/library/math.html#angular-conversion

...