Python as a Calculator — Python Numerical Methods
Python as a Calculator — Python Numerical Methods
This notebook contains an excerpt from the Python Programming and Numerical Methods - A Guide Contents
for Engineers and Scientists, the content is also available at Berkeley Python Numerical Methods. Basic Data Types
The copyright of the book belongs to Elsevier. We also have this interactive book online for a better
learning experience. The code is released under the MIT license. If you find this content useful, please
consider supporting the work on Elsevier or Amazon!
< 1.1 Getting Started with Python | Contents | 1.3 Managing Packages >
Python as a Calculator
We will introduce you to Python by demonstrating features found in any standard graphing calculator. An
arithmetic operation is either addition, subtraction, multiplication, division, or powers between two numbers. An
arithmetic operator is a symbol that Python has reserved to mean one of the aforementioned operations. These
symbols are + for addition, - for subtraction, * for multiplication, / for division, and ** for exponentiation.
We say an instruction or operation is executed when it is resolved by the computer. An instruction is executed at
the command prompt by typing it where you see the >>> symbol in the Python shell (or In [1]: sign in Ipython)
and then pressing Enter. Or type it in the code cell in Jupyter notebook and pressing Shift + Enter. Since we
will use Jupyter notebook for the rest of the book, here we will show all the examples in Ipython shell (Python
shell is similar), so that you can familiar with different options.
In [1]: 1 + 2
Out[1]: 3
An order of operations is a standard order of precedence that different operations have in relationship to one
another. Python utilizes the same order of operations that you learned in grade school. Powers are executed
before multiplication and division, which are executed before addition and subtraction. Parentheses, (), can also
be used in Python to supersede the standard order of operations.
3∗4
TRY IT! Compute .
(22 +4/2)
TIP! You may have noticed Out[2] is the resulting value of the last operation executed. You can use _ symbol to
represent this result to break up complicated expressions into simpler commands.
TRY IT! Compute 3 divided by 4, then multiply the result by 2, and then raise the result to the 3rd power.
In [3]: 3/4
Out[3]: 0.75
In [4]: _*2
Out[4]: 1.5
In [5]: _**3
Out[5]: 3.375
Python has many basic arithmetic functions like sin, cos, tan, asin, acos, atan, exp, log, log10 and sqrt stored
in a module (We will explain it later in this chapter) called math. We can import this module first to get access to
these functions.
TIP! In Jupyter notebook and Ipython, you can have a quick view of what’s in the module by type the module
name + dot + TAB. Furthermore, if you type the first few letters of the function and press TAB, it could
automatically complete the function for you, the so called - TAB completion.
The way we use these mathematical functions is module.function, the inputs to them are always placed inside of
parentheses that are connected to the function name. For trigonometric functions, it is useful to have the value of
𝜋 available. You can call this value at any time by typing math.pi in the code cell. Note that the value of 𝜋 is
stored in Python to 16 digits.
In [7]: math.sqrt(4)
Out[7]: 2.0
In [8]: math.sin(math.pi/2)
Out[8]: 1.0
Python will compose functions as you would expect, with the innermost function being executed first. The same
holds true for function calls that are composed with arithmetic operations.
In [9]: math.exp(math.log(10))
Out[9]: 10.000000000000002
Note that the log function in Python is 𝑙𝑜𝑔𝑒 , or the natural logarithm. It is not 𝑙𝑜𝑔10 . If you want to use 𝑙𝑜𝑔10 , you
need to use math.log10.
TIP! You can see the result above should be 10, but it is showing 10.000000000000002, this is due to Python’s
number approximation, which we will learn more in chapter 9.
3
TRY IT! Compute 𝑒 4
In [10]: math.exp(3/4)
Out[10]: 2.117000016612675
TIP! Using the UP ARROW in the command prompt recalls previous commands that were executed. If you
accidentally type a command incorrectly, you can use the UP ARROW to recall it, and then edit it instead of
retyping the entire line.
Many times, when you use a function in Python, you want to get some help on the context of the function. In
Ipython or Jupyter notebook you can view the description of any function by typing function?, that is the
question mark is a shortcut to get help. If you see a function you are unfamiliar with, it is good practice to use the
question mark before you asking your instructors what a specific function does.
WARNING! For some functions, the help file can be extremely complicated and wordy, even for simple functions.
In these cases, do not be afraid to ask your instructor for help.
TRY IT! Use the question mark to find the definition of the factorial function
In [11]: math.factorial?
Signature: math.factorial(x, /)
Docstring:
Find x!.
Python will raise an ZeroDivisionError when you have expression 1/0, which is infinity, to remind you.
In [12]: 1/0
---------------------------------------------------------------------------
ZeroDivisionError Traceback (most recent call last)
<ipython-input-12-9e1622b385b6> in <module>()
----> 1 1/0
You can type math.inf at the command prompt to denote infinity or math.nan to denote something that is not a
number that you wish to be handled as a number. If this is confusing, this distinction can be skipped for now; it will
be explained more clearly when it becomes important. Finally, Python can also handle the imaginary number.
TRY IT! 1/∞, and ∞ ∗ 2 to verify that Python handles infinity as you would expect.
In [13]: 1/math.inf
Out[13]: 0.0
In [14]: math.inf * 2
Out[14]: inf
In [15]: math.inf/math.inf
Out[15]: nan
In [16]: 2 + 5j
Out[16]: (2+5j)
Another way to represent complex number in Python is to use the complex function.
In [17]: complex(2,5)
Out[17]: (2+5j)
Python can also handle scientific notation using the letter e between two numbers. For example,
1𝑒6 = 1000000 and 1𝑒 − 3 = 0.001 .
TRY IT! Compute the number of seconds in 3 years using scientific notation.
In [18]: 3e0*3.65e2*2.4e1*3.6e3
Out[18]: 94608000.0
TIP! Every time when we type the function in math module, we always type math.function_name. Alternatively,
there is a simpler way, for example, if we want to use sin and log from math module, we could import them this
way: from math import sin, log. Then you all you need to do when using these functions is using them
You can use function type to check the data type for different values.
In [19]: type(1234)
Out[19]: int
In [20]: type(3.14)
Out[20]: float
Of course, there are other different data types, such as boolean, string and so on, we will introduce them later in
the book.
In this section, we talked about how to use Python as a calculator by running commands in the Python shell. Let’s
go ahead to learn more about the managing packages, i.e. how to install, upgrade, and remove the packages
before we do more coding.
< 1.1 Getting Started with Python | Contents | 1.3 Managing Packages >
© Copyright 2020.