Numeric Data Types
Python Numbers
There are three numeric types in Python: int, float, complex.
Whole numbers are generally represented using int, and fractional numbers are represented using floats.
Python provides a function called type() that tells us the data type or class of any value.
>type(8)
<class 'int'>
> type(5.123)
<class 'float'>
> a = -45
> type(a)
<class 'int'>
> b = 78.98
> type(b)
<class 'float'>
https://www.w3schools.com/python/python_numbers.asp
Type Conversion
You can convert one type to another with the int(), float(), and complex() methods:
https://www.w3schools.com/python/python_numbers.asp
Random Number
Python has a built-in module called random that can be used to make random numbers:
https://www.w3schools.com/python/python_numbers.asp
Python Casting
You can define a type on to a variable. This can be done with casting.
https://www.w3schools.com/python/python_casting.asp
Python Built-in Numeric Operations
All numeric types (except complex) support the following operations.
>3 + 4
7
>3.0 + 4.0
7.0
>3.0 * 4.0
12.0
>4.0 * 3
12.0
>4.0 ** 3
64.0
>abs(-5)
5
> 3 / 2
1.5
> 3 // 2
1
For more detailed Python built-in numeric operations, such as int(), float(), pow(), check out the following links.
https://python4astronomers.github.io/python/types.html
https://www.python-ds.com/python-3-numeric-operations
https://docs.python.org/3/library/stdtypes.html
https://www.techbeamers.com/python-numbers/
Math Library
Python has a built-in module that you can use for mathematical tasks. Python provides many other useful
mathematical functions in a special math library.
The math module has a set of methods and constants.
https://www.w3schools.com/python/module_math.asp
The following example computes the roots of a quadratic equation.
# Program name: quad.py
# A program that computes the real roots of a quadratic equation.
# It illustrates the use of the math library.
# Note: this program crashes if the equation has no real roots.
# For now, we will make sure sqrt(value) is > 0
import math # Makes the math library available. This tells Python we are using the math module.
def main():
print("This program computes the roots of a quadratic equation.")
a,b,c = 2,3,-4
d = math.sqrt(b**2 - 4 * a * c)
root1 = (-b + d) / (2 * a)
root2 = (-b - d) / (2 * a)
print("The two roots are {0:0.2f} and {1:0.2f}".format(root1,root2))
#Other ways to output the two roots in two decimal points.
#print("The two roots are: {:.2f} and {:.2f}".format(root1, root2))
#print("The two roots are: {:0.2f}".format(root1) ,"and {:0.2f}".format(root2))
main()
The output of the program:
This program computes the roots of a quadratic equation.
The roots are 0.85 and -2.35
This program uses the sqrt() function from the math library module.
Here is the list of other functions that are available in the math library:
https://www.w3schools.com/python/module_math.asp
These functions cannot be used with complex numbers; use the functions of the same name from the cmath module
if you require support for complex numbers.
https://docs.python.org/3/library/math.html
Python Modules
Python provides more specialized capabilites for performing computer specific tasks. You can think of these modules
as a library when you need to borrow according to your needs. We access a module by using the import command.
The following four modules are used for scientific computing.
A module is a file that has a collection of useful functions and can be imported as a whole file into any application.
You can use it in multiple projects and share it with other programmers. Modules have .py extension.
Because the modules listed above are not part of core Python, they need to be imported.
Since NumPy module also includes the basic mathmetical functions, we can also import NumPy to replace the
math library for compute the roots of a quadratic equation.
import numpy as np # imports and assigns the abbreviation np for numpy
def main():
print("This program computes the roots of a quadratic equation. ")
a,b,c = 2,3,-4
d = np.sqrt(b**2 - 4 * a * c)
root1 = (-b + d) / (2 * a)
root2 = (-b - d) / (2 * a)
print("The roots are {0:0.2f} and {1:0.2f}".format(root1,root2))
main()
Lab Assignment
1. Write a program that accepts two points (x1,y1) and (x2,y2) and determines the distance between them using
Your program output should be similar to the following. The output is required to be set in 2 decimal places.
This program calculates the distance between two points.
Enter x1: 23.5
Enter y1: 9.2
Enter x2: 3.5
Enter y2: 1.8
The distance between the two points is 21.33
2. Write a program to compute the volume and surface area of a sphere from the input radius. Here are the formulas:
Your program output should be similar to the following. The output, volume and surface area are required to be set in 2 decimal places.
This program computes the volume and surface area of a sphere.
Please enter the radius of the sphere: 5
The volume is 523.60 cubic units.
The surface area is 314.16 square units.
Demonstrate your answers and code to your lab instructor if the lab is in person.