Ryan Gedwill
Ryan Gedwill

Reputation: 118

math.cos(x) not returning correct value?

I just started using python, and am having difficulty with a very basic program. I want to calculate the cosine of -20 degrees. It is my understanding that the default value is in radians, so this is the following code i tried:

import math 


print math.cos(math.degrees(-20))

This outputs (-.7208...), where the answer is actually (.9397...). I'm sure this has a pretty basic solution but I've tried so many different things and it will not output the correct results. Thanks in advance!

Upvotes: 1

Views: 2365

Answers (3)

Andrew Li
Andrew Li

Reputation: 57964

Per the Python documentation:

math.degrees(x)

Convert angle x from radians to degrees.

That means you are attempting to convert -20 radians to degrees which isn't desired.

Also per the documentation:

math.cos(x)

Return the cosine of x radians.

This means math.cos finds the cosine of the passed argument in radians, not degrees. That means your code currently changes -20 radians to degrees, then finds the cosine of that as if it were radians... you can see why that's a problem.

You need to convert -20 degrees to radians, and then find the cosine. Use math.radians:

math.cos(math.radians(-20))

Upvotes: 5

user2357112
user2357112

Reputation: 280698

math.degrees takes a number of radians and produces a number of degrees. You need the opposite conversion - you have a number of degrees, and you need to produce a number of radians you can pass to math.cos. You need math.radians:

math.cos(math.radians(-20))

Upvotes: 0

S E Clark
S E Clark

Reputation: 423

You need to input in radians, so do

math.cos(math.radians(-20))

math.radians(-20) converts -20 degrees to radians.

Upvotes: 0

Related Questions