Link Search Menu Expand Document

Module 03. Control Flow

Lecture Date: September 8, 2021 - Wednesday Slides
DataCamp DataCamp Chapter: Intermedia Python -> Logic, Control Flow and Filtering

In this lecture, we will delve into comparisons, conditional statements, and logic. In fact, these topics are fundamental programming concepts that can be useful in a variety of applications. More specifically, we will learn comparison operations such as == which means equal to. It will be followed by logic operators such as not, or. Finally, we will learn if, elif, and nested if statements as part of this module.

1. Control Flow

Download code

1.1. Comparisons

-5 == 5
False

the above code returns False because -5 and 5 are not equal. If they were equal, then, the result would be True. Both False and True are bool type variables as shown below.

comparison_result = -5 == 5
type(comparison_result)
bool
OperatorMeaning
==equal to
!=not equal to
>greater than
>=greater than or equal to
<less than
<=less than or equal to
3 >= 2.718281828459045 # e number
True

Python Tip: = and == operators have different meanings. While x=5 assigns x variable a value, x==5 compares x with 5.


x=5
x==5
True

Python Tip: Recall that exact floating point arithmetic is NOT possible in Python.


a = 0.1
b = 0.2
c = a + b
print(c == 0.3)
False

1.2. Logic Operators

not 4 > 2
False
1 == 1 and 4 > 2
True
import math
math.pi > math.e or 1 < 2
True

Truth table for not operator

Pnot P
FalseTrue
TrueFalse

Truth table for and operator

PQP and Q
FalseFalseFalse
FalseTrueFalse
TrueFalseFalse
TrueTrueTrue

Truth table for or operator

PQP or Q
FalseFalseFalse
FalseTrueTrue
TrueFalseTrue
TrueTrueTrue
not 5 > 3 and 6 + 1 > 7
False
3 * 5 < 15 or math.sqrt(4) == 2
True
not 4 > 3.99999 or 5 % 2 == 1
True
not (4 > 3.99999 or 5 % 2 == 1)
False
not 4 > 3.99999 and 5 % 2 == 1
False

1.2.1. Detailed rules

int(5.4)
bool(0)
bool(0.0)
bool(complex(0,0))
bool(9999)
bool(-9999)
bool(0.00000001)
bool(complex(0,1))
bool(None)
bool(not None)
not not bool(None)
x = None
print (x is None)
x = 4
print (x is None)

1.3. Conditional Statements

x = 5
y = 7
if x < 5:
    print('X is less than 5')
elif x >=5 and y < 10:
    print('x is greater than or equal to 5, but y is less than 10')
else:
    print('Neither of the two above conditions hold')
x = 5
y = 7
z = None
if x < 5:
    print('X is less than 5')
elif x >=5 and y < 10:
    print('x is greater than or equal to 5, but y is less than 10')
    if z is None:
        print('z is None')
else:
    print('Neither of the two above conditions hold')
x is greater than or equal to 5, but y is less than 10
z is None

Back to top

Copyright © Hamdi Kavak. CDS 230 - Modeling and Simulation 1.