Python can be used to complete trigonometric calculations. You can calculate sine, cosine, and tangent as well as use other trig functions using Python's `math`

module, which is part of the Python Standard Library and comes included with all Python installations. (This post is adapted from my book Problem Solving with Python.)

## The Python REPL¶

Calculations can be completed at the Python Prompt, also called the Python REPL. REPL stands for *Read Evaluate Print Loop*. The Python REPL shows three arrow symbols >>> followed by a blinking cursor. Programmers type commands at the >>> prompt then hit `[ENTER]`

to see the results.

Commands typed into the Python REPL are *read* by the interpreter, results of running the commands are *evaluated*, then *printed* to the command window. After the output is printed, the >>> prompt appears on a new line. This process *repeats* over and over again in a continuous loop.

Alternatively, all of the Python code below can be typed into a Jupyter notebook code cell. The code can be run by clicking the Run button in Jupyter or hitting Shift+Enter.

## Trigonometry: sine, cosine, and tangent¶

Trigonometry functions such as sine, cosine, and tangent can also be calculated using the Python REPL or typed into a Jupyter notebook.

To use Python's trig functions, we need to introduce a concept: *importing modules*.

In Python, there are many operations built into the language when the REPL or a Jupyter notebook starts. These operations include `+`

, `-`

, `*`

, `/`

like we saw in the previous post. However, not all functions will work right away when Python starts.

Say we want to find the sine of an angle. Try typing the following into the Python REPL or into a Jupyter notebook:

```
>>> sin(60)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'sin' is not defined
```

This error results because we have not told Python to include the `sin`

function. The `sin`

function is part of the *Python Standard Library*. The Python Standard Library comes with every Python installation and includes many functions, but not all of these functions are available to us when we start a new Python REPL session or open up a new Jupyter notebook.

### Importing Modules¶

To use Python's `sin`

function, first import the `sin`

*function* from the `math`

*module* which is part of the *Python Standard Library*.

Importing modules and functions in Python is easy. Use the following syntax:

```
from module import function
```

To import the `sin()`

function from the `math`

module try:

```
>>> from math import sin
>>> sin(60)
-0.3048106211022167
```

### Importing Multiple Modules¶

Multiple modules can be imported at the same time. Say we want to use a bunch of different trig functions to solve the following problem:

An angle has a value of $\pi$/6 radians. What is the sine, cos, and tangent of the angle?

To solve this problem we need to import the `sin()`

, `cos()`

, and `tan()`

functions. It is also useful to have the value of $\pi$, rather than having to write `3.14....`

We can import all of these functions at the same time using the syntax:

```
from module import function1, function2, function3
```

Note the commas in between the function names.

Try:

```
>>> from math import sin, cos, tan, pi
>>> pi
3.141592653589793
>>> sin(pi/6)
0.49999999999999994
>>> cos(pi/6)
0.8660254037844387
>>> tan(pi/6)
0.5773502691896257
```

## Summary¶

The following trig functions are part of Python's **math** module:

Trig function | Name | Description | Example | Result |
---|---|---|---|---|

`math.pi` |
pi | mathematical constant $\pi$ | `math.pi` |
`3.14` |

`math.sin()` |
sine | sine of an angle in radians | `math.sin(4)` |
`9.025` |

`math.cos()` |
cosine | cosine of an angle in radians | `cos(3.1)` |
`400` |

`math.tan()` |
tangent | tangent of an angle in radians | `tan(100)` |
`2.0` |

`math.asin()` |
arc sine | inverse sine, ouput in radians | `math.sin(4)` |
`9.025` |

`math.acos()` |
arc cosine | inverse cosine, ouput in radians | `log(3.1)` |
`400` |

`math.atan()` |
arc tangent | inverse tangent, ouput in radians | `atan(100)` |
`2.0` |

`math.radians()` |
radians conversion | degrees to radians | `math.radians(90)` |
`1.57` |

`math.degrees()` |
degree conversion | radians to degrees | `math.degrees(2)` |
`114.59` |

### Support

Want to learn more about doing math and calculations with Python? Check out my book **Problem Solving with Python** on Amazon (Affiliate Link):