Conditionals
Logic operations
Every logic operation gives boolean as a result
a = 5
b = 7
c = 3
equal = a == b # >>> False
not_equal = a != b # >>> True (another approach is 'not a == b')
more_than = a > b # >>> False
less_than = a < b # >>> True
more_or_equal = a >= b # >>> False
less_or_equal = a <= b # >>> True
2
3
4
5
6
7
8
9
10
= is very different from ==
We can chain logic operations by and and or operators. Also we can use not word
and_statement = a != b and not b == c
# >>> True (5 != 7 and 7 not == 3)
or_statement = a > b or c < b
# >>> True (5 > 7 or 3 < 7, 3 is less than 7)
2
3
4
5
Truth tables for not, and and or operators are below, where 1 means True and 0 means False
a | not a |
|---|---|
| 0 | 1 |
| 1 | 0 |
a | b | a or b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
a | b | a and b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Strings
Comparison of strings may seem to be weird, but main principle is based on ASCII (or Unicode) code of every symbol
"3A" > "31" # >>> True (letter wins)
"12 " > "99" # >>> True (longer wins)
"239" > "30" # >>> True (bigger wins)
2
3
Types
One of the very useful checks in programming languages with dynamic typification is a type check
type("123") is int # >>> False
type(False) is bool # >>> True
2
If … else
if, else and elif conditionals are used to perform different actions based on given statements.
The if conditional will execute code if statement is True
age = 30
if age > 16:
print('You are old enough to drive')
else:
print('You are not old enough to drive')
2
3
4
5
6
Pay attention to indentations. Whitespaces is used to group blocks of code in Python. Use the same number of proceeding spaces for every code block
If you want to check for multiple statements, use as much elif's as you need. Keep in mind that after first “true” statement it will stop and won’t check statements that follow.
So if we write this
if age >= 16:
print('You are old enough to drive a car')
elif age >= 21:
print('You are old enough to drive a tractor trailer')
else:
print('You are not old enough to drive')
2
3
4
5
6
instead of this
if age >= 21:
print('You are old enough to drive a tractor trailer')
elif age >= 16:
print('You are old enough to drive a car')
else:
print('You are not old enough to drive')
2
3
4
5
6
it would never let user to drive a tractor trailer.
We can combine statements with and, or or not
We can fix a program above
if age >= 16 and age < 21:
print('You are old enough to drive a car')
elif age >= 21:
print('You are old enough to drive a tractor trailer')
else:
print('You are not old enough to drive')
2
3
4
5
6
But do we really need it?
Assignment
Sometimes you will face situations like this one
if a > 5:
b = 'Nice'
else:
b = 'Sweet'
2
3
4
You can easily rewrite it this way
b = 'Nice' if a > 5 else 'Sweet'
This magic is called ternary operator. It’s nice and short but try to not overuse it.
← Dictionaries Bytes →