Control Flow in Python

Control flow in Python determines the order in which statements are executed. It includes conditional statements, loops, and exception handling, which allow developers to create dynamic and logical programs.


1. Conditional Statements

Conditional statements in Python allow code execution based on certain conditions. The main control flow statements are if, elif, and else.

if Statement

The if statement executes a block of code only if a specified condition is True.

x = 10
if x > 5:
    print("x is greater than 5")

if-else Statement

If the condition in the if statement is False, the else block executes.

x = 3
if x > 5:
    print("x is greater than 5")
else:
    print("x is 5 or less")

if-elif-else Statement

The elif (short for “else if”) statement checks multiple conditions sequentially.

x = 7
if x > 10:
    print("x is greater than 10")
elif x > 5:
    print("x is between 6 and 10")
else:
    print("x is 5 or less")

2. Loops in Python

Loops allow repeated execution of a block of code. Python provides two types of loops: for and while.

for Loop

The for loop iterates over a sequence such as a list, tuple, or string.

fruits = ["Apple", "Banana", "Cherry"]
for fruit in fruits:
    print(fruit)

Using range() to iterate over numbers:

for i in range(5):
    print(i)  # Prints numbers 0 to 4

while Loop

The while loop executes as long as a condition remains True.

x = 0
while x < 5:
    print(x)
    x += 1

3. Loop Control Statements

Python provides special statements to control the behavior of loops.

break Statement

The break statement stops a loop before it completes all iterations.

for i in range(10):
    if i == 5:
        break  # Exits the loop when i is 5
    print(i)

continue Statement

The continue statement skips the current iteration and proceeds to the next one.

for i in range(5):
    if i == 2:
        continue  # Skips when i is 2
    print(i)

pass Statement

The pass statement is a placeholder that does nothing. It is used when a statement is required syntactically but no action is needed.

for i in range(3):
    pass  # Placeholder for future code

4. Exception Handling

Exception handling in Python helps in managing runtime errors using try, except, finally, and raise.

try-except Block

Handles errors gracefully without crashing the program.

try:
    x = 10 / 0
except ZeroDivisionError:
    print("Cannot divide by zero")

finally Block

The finally block executes regardless of whether an exception occurs.

try:
    print(5 / 0)
except ZeroDivisionError:
    print("Error: Division by zero")
finally:
    print("This always executes")

raise Statement

The raise statement manually triggers an exception.

x = -1
if x < 0:
    raise ValueError("Negative values are not allowed")

Control flow structures are essential for writing logical and efficient Python programs. Mastering conditional statements, loops, and exception handling will help you build robust applications.