Conditional statements
if conditional statement
The if conditional statement allows us to check if a given condition is fulfilled. We commonly use logical operators in conditional statements.
x = int(input())
if x == 5:
print("The user entered the number 5.")
We use the modulo operator very often in conditional statements. In the example below, the condition checks if the x variable is divisible by 2 (whether it is even).
x = int(input())
if x % 2 == 0:
print("The user entered an even number.")
We can simplify the if statement by using boolean conditions. We can just write if x:, and if x is True, the instruction will be executed. True means any value other than 0.
else and elif conditional statements
else is a statement that allows us to simplify our code by avoiding the need for another if statement, replacing it with an alternative action when the original condition is False.
x = int(input())
if x > 0:
print("The user entered a positive number.")
else:
print("The user entered a negative number.")
The code above doesn't handle the case where the user enters 0. To do that, we need elif (else + if). It works similarly to else, but allows us to specify an additional condition (like in an if statement). We can use as many elif instructions as we want, relating to a single if.
x = int(input())
if x > 0:
print("The user entered a positive number.")
elif x < 0:
print("The user entered a negative number.")
else:
print("The user entered 0.")
We use this instruction instead of writing multiple if statements because if any of the conditions relating to a single if statement have been met, the rest will not be considered.
break and continue keywords
The break keyword is used to break the continuity of a loop, and continue can skip particular iterations within it.
while True:
x = int(input())
if x > 0:
break
for x in range(10):
if x == 4 or x == 8:
continue
print(x)
else in loops
else also works with loops, but on different principles. The else block that follows the loop won't be executed only if there is a break statement inside the loop. This structure is unique to Python, and we shouldn't use it very often because it can be confusing.
x = 3
while x > 4:
x -= 1
print("Loop")
else:
print("Else")
print("Outside")
x = 6
while x > 4:
x -= 1
print("Loop")
else:
print("Else")
print("Outside")
x = 10
while x > 4:
x -= 1
print("Loop")
if x == 7:
break
else:
print("Else")
print("Outside")
for x in range(5):
print("Loop")
else:
print("Else")
print("Outside")
for x in range(5):
print("Loop")
if x == 2:
break
else:
print("Else")
print("Outside")
match conditional statement (switch)
match is an instruction that simplifies complex conditions by replacing multiple if and elif statements with a more concise structure.
x = int(input())
match x:
case 0:
print("x equals 0")
case 25:
print("x equals 25")
case 50:
print("x equals 50")
case _: # the default case
print("x doesn't equal 0, 25, or 50")
A parameter of the match statement is usually an integer or a string (but it could be something else).
Ternary operations
A ternary operation is a simplifed one-line version of the if-else statement.
x, y = 1, 2 # defining variables in bulk
z = x if x < y else y
print("The smaller numer is:", z)
The walrus operator
The walrus operator := allows us to assign a value to a variable as part of an expression. It can make code more concise by combining assignment and condition checks in a single line.
numbers = [1, 2, 3, 4, 5]
total = 0
while (n := len(numbers)) > 0:
total += numbers.pop()
print("Popped number, remaining count:", n)
print("Total sum:", total)