Python as a Calculator
Python as a Calculator
Python can be used as a calculator to compute arithmetic operations like addition, subtraction, multiplication and division. Python can also be used for trigonometric calculations and statistical calculations.
Arithmetic
Python can be used as a calculator to make simple arithmetic calculations.
Simple arithmetic 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.
Try the following commands at the Python REPL:
Suppose the mass of a battery is 5 kg and the mass of the battery cables is 3 kg. What is the mass of the battery cable assembly?
>>> 5 + 3
8
Suppose one of the cables above is removed and it has a mass of 1.5 kg. What is the mass of the leftover assembly?
>>> 8 - 1.5
6.5
If the battery has a mass of 5000 g and a volume of 2500 cm^3 What is the density of the battery? The formula for density is below, where D is density, m is mass and v is volume.
In the problem above m = 5000 and v=2500
Let's solve this with Python.
>>> 5000 / 2500
2.0
What is the total mass if we have 2 batteries, and each battery weighs 5 kg?
>>> 5 * 2
10
The length, width, and height of each battery is 3 cm. What is the area of the base of the battery?
To complete this problem, use the double asterisk symbol **
to raise a number to a power.
>>> 3 ** 2
9
What is the volume of the battery if each the length, width, and height of the battery are all 3 cm?
>>> 3 ** 3
27
Find the mass of the two batteries and two cables.
We can use Python to find the mass of the batteries and then use the answer, which Python saves as an underscore _ to use in our next operation. (The underscore _
in Python is comparable to the ans
variable in MATLAB)
>>> 2 * 5
10
>>> _ + 1.5 + 1
12.5
Section Summary
A summary of the arithmetic operations in Python is below:
Operator | Description | Example | Result |
---|---|---|---|
+ |
addition | 2 + 3 |
5 |
- |
subtraction | 8 - 6 |
2 |
- |
negative number | -4 |
-4 |
* |
multiplication | 5 * 2 |
10 |
/ |
division | 6 / 3 |
2 |
** |
raises a number to a power | 10**2 |
100 |
_ |
returns last saved value | _ + 7 |
107 |
Trigonometry: sine, cosine, and tangent
Trigonometry functions such as sine, cosine, and tangent can also be calculated using the Python REPL.
To use Python's trig functions, we need to introduce a new concept: importing modules.
In Python, there are many operations built into the language when the REPL starts. These include +
, -
, *
, /
like we saw in the previous section. However, not all functions will work right away when Python starts. Say we want to find the sine of an angle. Try the following:
>>> 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. 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 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
Success! 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
Section 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 |
Exponents and Logarithms
Calculating exponents and logarithms with Python is easy. Note the exponent and logarithm functions are imported from the math module just like the trig functions were imported from the math module above.
The following exponents and logarithms functions can be imported from Python's math module:
log
log10
exp
e
pow(x,y)
sqrt
Let's try a couple of examples:
>>> from math import log, log10, exp, e, pow, sqrt
>>> log(3.0*e**3.4) # note: natural log
4.4986122886681095
A right triangle has side lengths 3 and 4. What is the length of the hypotenuse?
>>> sqrt(3**2 + 4**2)
5.0
The power function pow()
works like the **
operator. pow()
raises a number to a power.
>>> 5**2
25
>>> pow(5,2)
25.0
Section Summary
The following exponent and logarithm functions are part of Python's math module:
Math function | Name | Description | Example | Result |
---|---|---|---|---|
math.e |
Euler's number | mathematical constant e | math.e |
2.718 |
math.exp() |
exponent | e raised to a power | math.exp(2.2) |
9.025 |
math.log() |
natural logarithm | log base e | math.log(3.1) |
400 |
math.log10() |
base 10 logarithm | log base 10 | math.log10(100) |
2.0 |
math.pow() |
power | raises a number to a power | math.pow(2,3) |
8.0 |
math.sqrt() |
square root | square root of a number | math.sqrt(16) |
4.0 |
Statistics
To round out this section, we will look at a couple of statistics functions. These functions are part of the Python Standard Library, but not part of the math module. To access Python's statistics functions, we need to import them from the statistics module using the statement from statistics import mean, median, mode, stdev
. Then the functions mean
, median
, mode
and stdev
(standard deviation) can be used.
>>> from statistics import mean, median, mode, stdev
>>> test_scores = [60, 83, 83, 91, 100]
>>> mean(test_scores)
83.4
>>> median(test_scores)
83
>>> mode(test_scores)
83
>>> stdev(test_scores)
14.842506526863986
Alternatively, we can import the entire statistics module using the statement import statistics
. Then to use the functions, we need to use the names statistics.mean
, statistics.median
, statistics.mode
, and statistics.stdev
. See below:
>>> import statistics
>>> test_scores = [60, 83, 83, 91, 100 ]
>>> statistics.mean(test_scores)
83.4
>>> statistics.median(test_scores)
83
>>> statistics.mode(test_scores)
83
>>> statistics.stdev(test_scores)
14.842506526863986
Section Summary
The following functions are part of Python's statistics module. These functions need to be imported from the statistics
module before they are used.
Statistics function | Name | Description | Example | Result |
---|---|---|---|---|
mean() |
mean | mean or average | mean([1,4,5,5]) |
3.75 |
median() |
median | middle value | median([1,4,5,5]) |
4.5 |
mode() |
mode | most often | mode([1,4,5,5]) |
5 |
stdev() |
standard deviation | spread of data | stdev([1,4,5,5]) |
1.892 |
variance() |
variance | variance of data | variance([1,4,5,5]) |
3.583 |