1. Basic Maths
This course will introduce you to the basic mathematical operations that can be performed in Python. We will cover:
-
Addition and Subtraction
-
Multiplication and Division
-
Modulo
-
Power
-
Operator Precedence
-
Assignment Operators
-
The Python Math Library
1.1. Introduction
Before we begin, it’s important to understand some basics about data types in Python. In Python, there are three main types of numerical data: integers, floats, and complex numbers.
Integers are whole numbers, while floats are decimal numbers. Complex numbers are a combination of a real and an imaginary number. When performing mathematical operations in Python, it’s important to understand the data types involved and how they interact with each other.
In this course, we will focus on using Python to perform basic arithmetic operations, such as addition, subtraction, multiplication, and division. We will also cover more advanced topics such as the modulo operator, power operator, and the Python Math Library.
1.2. Addition and Subtraction
Addition and subtraction are basic arithmetic operations in Python that can be performed on integers and floats.
# Working with integers:
print(1 + 5) # 6
# Initialize variables to stand for integer values:
a = 87
b = 103
print(a + b) # 190
# Integers can be both positive and negative numbers:
c = -36
d = 27
print(c + d) # -9
# Addition will behave similarly with floats:
e = 5.7
f = 2.3
print(e + f) # 8.0
# The syntax for subtraction is the same as for addition:
g = 75.61
h = 37
print(g - h) # 38.61
Python returns floats when adding integers and floats together. It’s important to keep this in mind when working with numerical data in Python. |
Exercise 1 Write a program that asks the user to input two numbers and prints the sum of the two numbers. |
Solution
a = float(input("Enter the first number: "))
b = float(input("Enter the second number: "))
sum = a + b
print(f"The sum of {a} and {b} is {sum}.")
1.3. Multiplication and Division
Multiplication and division are also basic arithmetic operations in Python.
# Doing multiplication in Python with two float values:
k = 100.1
l = 10.7
print(k * l) # 1071.07
# When you divide in Python 3, your quotient will always be returned as a float, even if you use two integers:
m = 90
n = 5
print(m / n) #18.0
# Floor division:
print(100 // 40) # 2
In Python 3, when you perform division, the quotient will always be returned as a float, even if you use two integers. If you want to perform integer division, you can use the // operator. |
Exercise 2 Write a program that asks the user to input two numbers and prints the product of the two numbers. |
1.4. Modulo
The modulo operator returns the remainder of a division operation. This can be useful for checking divisibility or finding the next multiple of a number.
# Modulo in action:
o = 95
p = 25
print(o % p) # 20
# Floats with the modulo:
q = 46.5
r = 6.5
print(q % r) # 3.0
Exercise 3 Write a program that asks the user to input two numbers and prints the remainder when the first number is divided by the second number. |
1.5. Power
The power operator is used to raise a number to a certain power.
s = 52.25
t = 3
print(s ** t) # 142645.765625
Exercise 4 Write a program that asks the user to input two numbers and prints the first number raised to the power of the second number. |
1.6. Operator Precedence
When performing arithmetic operations in Python, it’s important to understand operator precedence. This determines the order in which operations are performed.
u = 10 + 10 * 5
print(u) # 60
u = (10 + 10) * 5
print(u) # 100
In the example above, the multiplication operation is performed before the addition operation in the first line because it has a higher precedence. In the second line, the addition operation is performed first because it is contained within parentheses.
Exercise 5 Write a program that uses parentheses to change the order of operations in an arithmetic expression. |
1.7. Assignment Operators (=)
Assignment operators are used to assign values to variables. There are several different types of assignment operators, including +=, -=, *=, and /=.
# I. e.g. a = 3
# II. Compound assignment operators:
w = 5
w += 1
print(w) # 6
In the example above, the += operator is used to add 1 to the value of the variable w and then assign the result back to w.
Exercise 6 Write a program that uses a compound assignment operator to increment a variable by a certain amount. |
1.8. Python Math Library
The Python Math Library provides a set of mathematical functions that can be used to perform more advanced calculations in Python.
To use the Python Math Library, you first need to import it into your program:
To use a function from the Python Math Library, you simply call the function using the module name (math) and the function name separated by a dot (.), like this:
import math
print(math.sqrt(16)) # 4.0
Or you can import the math module with an alias (m in the example below) to make the code shorter:
import math as m
print(m.sqrt(16)) # 4.0
Here is a list of some of the functions available in the Python Math Library:
Function | Description |
---|---|
ceil(x) |
Returns the smallest integer greater than or equal to x. |
copysign(x, y) |
Returns x with the sign of y |
fabs(x) |
Returns the absolute value of x |
factorial(x) |
Returns the factorial of x |
floor(x) |
Returns the largest integer less than or equal to x |
fmod(x, y) |
Returns the remainder when x is divided by y |
frexp(x) |
Returns the mantissa and exponent of x as the pair (m, e) |
fsum(iterable) |
Returns an accurate floating point sum of values in the iterable |
isfinite(x) |
Returns True if x is neither an infinity nor a NaN (Not a Number) |
isinf(x) |
Returns True if x is a positive or negative infinity |
isnan(x) |
Returns True if x is a NaN |
ldexp(x, i) |
Returns \(x \times (2^i)\) |
modf(x) |
Returns the fractional and integer parts of x |
trunc(x) |
Returns the truncated integer value of x |
exp(x) |
Returns \(e^x\) |
expm1(x) |
Returns \(e^x - 1\) |
log(x[, base]) |
Returns the logarithm of x to the base (defaults to e) |
log1p(x) |
Returns the natural logarithm of 1+x |
log2(x) |
Returns the base-2 logarithm of x |
log10(x) |
Returns the base-10 logarithm of x |
pow(x, y) |
Returns x raised to the power y |
sqrt(x) |
Returns the square root of x |
acos(x) |
Returns the arc cosine of x |
asin(x) |
Returns the arc sine of x |
atan(x) |
Returns the arc tangent of x |
atan2(y, x) |
Returns atan(y / x) |
cos(x) |
Returns the cosine of x |
hypot(x, y) |
Returns the Euclidean norm, sqrt(xx + yy) |
sin(x) |
Returns the sine of x |
tan(x) |
Returns the tangent of x |
degrees(x) |
Converts angle x from radians to degrees |
radians(x) |
Converts angle x from degrees to radians |
acosh(x) |
Returns the inverse hyperbolic cosine of x |
asinh(x) |
Returns the inverse hyperbolic sine of x |
atanh(x) |
Returns the inverse hyperbolic tangent of x |
cosh(x) |
Returns the hyperbolic cosine of x |
sinh(x) |
Returns the hyperbolic cosine of x |
tanh(x) |
Returns the hyperbolic tangent of x |
erf(x) |
Returns the error function at x |
erfc(x) |
Returns the complementary error function at x |
gamma(x) |
Returns the Gamma function at x |
lgamma(x) |
Returns the natural logarithm of the absolute value of the Gamma function at x |
pi |
Mathematical constant, the ratio of circumference of a circle to it’s diameter (3.14159…) |
e |
mathematical constant e (2.71828…) |
Exercise 7 Write a program that uses a function from the Python Math Library to perform a mathematical calculation. |
# Pie
m.pi # 3.141592653589793
# Euler's number
m.e # 2.718281828459045
m.radians(30) # 0.5235987755982988
m.degrees(m.pi/30) # 6.0
m.sin(45) # 0.8509035245341184
m.cos(0) # 1.0
m.sin(51)**2 + m.cos(51)**2 # 1.0
m.log(10) # 2.302585092994046
m.log10(10) # 1.0
# 2**4
m.pow(2,4) # 16.0
m.sqrt(16) # 4.0
m.ceil(6.5877) # 7
m.floor(6.5677) # 6
1.9. Exercises
1.9.1. Calculate the Area of a Circle
Write a program that asks the user for the radius of a circle and calculates its area using the formula \(A = \pi r^2\). Use the math library to access the value of \(\pi\).
Solution:
import math
radius = float(input("Enter the radius of the circle: "))
area = math.pi * radius**2
print(f"The area of the circle is: {area:.2f}")
1.9.2. Find the Hypotenuse of a Right Triangle
Write a program that asks the user for the lengths of the two legs of a right triangle and calculates the length of its hypotenuse using the Pythagorean theorem. Use the math library to access the square root function.
Solution:
import math
leg1 = float(input("Enter the length of the first leg: "))
leg2 = float(input("Enter the length of the second leg: "))
hypotenuse = math.sqrt(leg1**2 + leg2**2)
print(f"The length of the hypotenuse is: {hypotenuse:.2f}")
1.9.3. Convert Degrees to Radians
Write a program that asks the user for an angle in degrees and converts it to radians using the math library.
Solution:
import math
degrees = float(input("Enter an angle in degrees: "))
radians = math.radians(degrees)
print(f"The angle in radians is: {radians:.2f}")
1.9.4. Solve a Quadratic Equation
Write a program that asks the user for the coefficients of a quadratic equation (a, b, and c) and calculates its roots using the quadratic formula. Use the math library to access the square root function.
Solution:
import math
a = float(input("Enter the coefficient of x^2: "))
b = float(input("Enter the coefficient of x: "))
c = float(input("Enter the constant term: "))
discriminant = b**2 - 4*a*c
if discriminant < 0:
print("The equation has no real roots.")
elif discriminant == 0:
root = -b / (2*a)
print(f"The equation has one real root: {root:.2f}")
else:
root1 = (-b + math.sqrt(discriminant)) / (2*a)
root2 = (-b - math.sqrt(discriminant)) / (2*a)
print(f"The equation has two real roots: {root1:.2f} and {root2:.2f}")
1.9.5. Calculate the Fibonacci Sequence
Write a program that asks the user for a number n and prints the first n terms of the Fibonacci sequence. The Fibonacci sequence is defined as follows: the first two terms are 0 and 1, and each subsequent term is the sum of the previous two terms.
Solution:
n = int(input("Enter the number of terms: "))
a, b = 0, 1
for i in range(n):
print(a, end=" ")
a, b = b, a + b
1.9.6. Calculate the Factorial of a Number
Write a program that asks the user for a non-negative integer n and calculates its factorial using a loop.
Solution:
n = int(input("Enter a non-negative integer: "))
factorial = 1
for i in range(1, n+1):
factorial *= i
print(f"The factorial of {n} is: {factorial}")
1.9.7. Find the GCD of Two Numbers
Write a program that asks the user for two positive integers and finds their greatest common divisor (GCD) using the Euclidean algorithm.
Solution:
a = int(input("Enter the first positive integer: "))
b = int(input("Enter the second positive integer: "))
while b != 0:
a, b = b, a % b
print(f"The GCD of {a} and {b} is: {a}")
1.9.8. Find the LCM of Two Numbers
Write a program that asks the user for two positive integers and finds their least common multiple (LCM).
Solution:
a = int(input("Enter the first positive integer: "))
b = int(input("Enter the second positive integer: "))
lcm = a*b
while a != b:
if a < b:
a += a
else:
b += b
if a*b < lcm:
lcm = a*b
print(f"The LCM of {a} and {b} is: {lcm}")
1.9.9. Generate Prime Numbers
Write a program that asks the user for a positive integer n and generates the first n prime numbers.
Solution:
n = int(input("Enter the number of prime numbers to generate: "))
primes = []
num = 2
while len(primes) < n:
is_prime = True
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
is_prime = False
break
if is_prime:
primes.append(num)
num += 1
print(f"The first {n} prime numbers are: {primes}")
These additional exercises will help you further practice and apply the concepts covered in this short course.
1.9.10. Calculate the Area of a Trapezoid
Write a program that asks the user for the lengths of the bases and the height of a trapezoid and calculates its area using the formula \(A = (b1 + b2)h/2\).
Solution:
b1 = float(input("Enter the length of the first base: "))
b2 = float(input("Enter the length of the second base: "))
h = float(input("Enter the height: "))
area = (b1 + b2) * h / 2
print(f"The area of the trapezoid is: {area:.2f}")
1.9.11. Calculate the Volume of a Sphere
Write a program that asks the user for the radius of a sphere and calculates its volume using the formula \(V = 4/3 \pi r^3\).
Solution:
import math
radius = float(input("Enter the radius of the sphere: "))
volume = 4/3 * math.pi * radius**3
print(f"The volume of the sphere is: {volume:.2f}")
1.9.12. Calculate the Distance Between Two Points
Write a program that asks the user for the coordinates of two points in 3D space and calculates the distance between them using the distance formula.
Solution:
import math
x1 = float(input("Enter the x-coordinate of the first point: "))
y1 = float(input("Enter the y-coordinate of the first point: "))
z1 = float(input("Enter the z-coordinate of the first point: "))
x2 = float(input("Enter the x-coordinate of the second point: "))
y2 = float(input("Enter the y-coordinate of the second point: "))
z2 = float(input("Enter the z-coordinate of the second point: "))
distance = math.sqrt((x2-x1)**2 + (y2-y1)**2 + (z2-z1)**2)
print(f"The distance between the two points is: {distance:.2f}")
1.9.13. Solve a System of Linear Equations
Write a program that asks the user for the coefficients of a system of two linear equations \((ax + by = c and dx + ey = f)\) and solves it using Cramer’s rule.
Solution:
a = float(input("Enter the coefficient of x in the first equation: "))
b = float(input("Enter the coefficient of y in the first equation: "))
c = float(input("Enter the constant term in the first equation: "))
d = float(input("Enter the coefficient of x in the second equation: "))
e = float(input("Enter the coefficient of y in the second equation: "))
f = float(input("Enter the constant term in the second equation: "))
determinant = a*e - b*d
if determinant == 0:
print("The system has no unique solution.")
else:
x = (c*e - b*f) / determinant
y = (a*f - c*d) / determinant
print(f"The solution is: x={x:.2f}, y={y:.2f}")
1.9.14. Generate a Sequence of Fibonacci Numbers Using Recursion
Write a program that asks the user for a number n and generates the first n terms of the Fibonacci sequence using recursion. The Fibonacci sequence is defined as follows: the first two terms are 0 and 1, and each subsequent term is the sum of the previous two terms.
Solution:
# This program uses recursion to generate the first n terms of the Fibonacci sequence.
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
n = int(input("Enter the number of terms: "))
for i in range(n):
print(fibonacci(i), end=" ")
1.10. Conclusion
In this course, you have learned the basics of mathematical operations in Python, including addition, subtraction, multiplication, and division. You have also learned about more advanced topics such as the modulo operator, power operator, operator precedence, assignment operators, and the Python Math Library.
Add Comment
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
- Your name, rating, website address, town, country, state and comment will be publicly displayed if entered.
- Aside from the data entered into these form fields, other stored data about your comment will include:
- Your IP address (not displayed)
- The time/date of your submission (displayed)
- Your email address will not be shared. It is collected for only two reasons:
- Administrative purposes, should a need to contact you arise.
- To inform you of new comments, should you subscribe to receive notifications.
- A cookie may be set on your computer. This is used to remember your inputs. It will expire by itself.
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
- Although the administrator will attempt to moderate comments, it is impossible for every comment to have been moderated at any given time.
- You acknowledge that all comments express the views and opinions of the original author and not those of the administrator.
- You agree not to post any material which is knowingly false, obscene, hateful, threatening, harassing or invasive of a person's privacy.
- The administrator has the right to edit, move or remove any comment for any reason and without notice.
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comments