Conditional Statements in Python
Tags: python, programming, beginners
Published: 2024-02-24 23:52:18

# Introduction

Conditional statements are a fundamental concept in programming, allowing the execution of specific code blocks depending on whether a certain condition is met. The `if` function is used in Python to create conditional statements. In this chapter, we will explore the `if` function, its syntax, and how it can be used in mathematical contexts.

# The if Function in Python

The `if` function is a control structure that allows you to execute code conditionally. The basic syntax of an if statement is as follows:

```python
if condition:
    # code to execute if condition is True
```

The `condition` is an expression that evaluates to a boolean value, `True` or `False`. If the condition is `True`, the code block indented under the `if` statement is executed. If the condition is `False`, the code block is skipped.

You can also use the `elif` and `else` statements to specify additional conditions and code blocks to execute if the previous conditions are unmet. Here is an example that demonstrates the use of `if`, `elif`, and `else` statements:

```python
x = 10
if x < 0:
    print("x is negative")
elif x == 0:
    print("x is zero")
else:
    print("x is positive")
```

Output:

```
x is positive
```

In this example, the value of `x` is 10, so the first condition `x < 0` is `False` and the first code block is skipped. The second condition `x == 0` is also `False`, so the second code block is skipped. Since none of the previous conditions were met, the code block under the `else` statement is executed, and the output is `x is positive`.

You can use logical operators such as `and`, `or`, and `not` to combine multiple conditions. Here is an example that demonstrates the use of logical operators in an `if` statement:

```python
x = 10
y = 20
if x > 0 and y > 0:
    print("Both x and y are positive")
```

Output:

```
Both x and y are positive
```

In this example, both `x` and `y` are positive, so the condition `x > 0 and y > 0` is `True` and the code block under the `if` statement is executed. The output is `Both x and y are positive`.

It is important to note that the logical operators `and`, `or`, and `not` have different precedence. The `not` operator has the highest precedence, followed by `and`, and then `or`. This means that in an expression that contains multiple logical operators, the `not` operator is evaluated first, followed by `and`, and then `or`. Here is an example that demonstrates the precedence of logical operators:

```python
x = 10
y = 20
z = 30
if not x < 0 and y > 0 or z > 0:
    print("The condition is True")
else:
    print("The condition is False")
```

Output:

```
The condition is True
```

In this example, the `not` operator is evaluated first, so `not x < 0` is `True`. Then, the `and` operator is evaluated, so `True and y > 0 is True`. Finally, the `or` operator is evaluated, so `True or z > 0` is `True`. Since the overall condition is `True`, the code block under the `if` statement is executed, and the output is `The condition is True`.

In Python 3.10 and above, you can also use the `match` and `case` statements to perform pattern matching. Here is an example that demonstrates the use of `match` and `case` statements:

```python
x = 10
match x:
    case 0:
        print("x is zero")
    case 1:
        print("x is one")
    case _:
        print("x is neither zero nor one")
```

Output:

```
x is neither zero nor one
```


In this example, the value of `x` is 10, so the first case `0` is not matched and the first code block is skipped. The second case `1` is also not matched, so the second code block is skipped. Since none of the previous cases were matched, the code block under the `case _` statement is executed, and the output is `x is neither zero nor one`.

# Examples with Math

Here are some examples that demonstrate the use of `if` statements in mathematical contexts:

## Example 1: Checking if a number is even or odd

```python
x = 10
if x % 2 == 0:
    print("x is even")
else:
    print("x is odd")
```

Output:

```
x is even
```

In this example, we use the modulo operator `%` to check if `x` is divisible by 2. If `x` is divisible by 2, the remainder of `x / 2` is 0, so `x % 2` is 0 and the condition `x % 2 == 0` is `True`. The output is `x is even`.

## Example 2: Solving a quadratic equation

```python
from math import sqrt

a = 1
b = 4
c = 2

# calculate the discriminant
d = b**2 - 4*a*c

# find the solutions
if d < 0:
    print("This equation has no real solution")
elif d == 0:
    x = (-b + sqrt(d)) / (2*a)
    print(f"This equation has one solution: {x}")
else:
    x1 = (-b + sqrt(d)) / (2*a)
    x2 = (-b - sqrt(d)) / (2*a)
    print(f"This equation has two solutions: {x1} and {x2}")
```

Output:

```
This equation has two solutions: -0.5857864376269049 and -3.414213562373095
```

In this example, we use the quadratic formula to solve a quadratic equation of the form `ax^2 + bx + c = 0`. The discriminant `d` determines the number of real solutions of the equation. If `d` is negative, the equation has no real solutions. If `d` is zero, the equation has one real solution. If `d` is positive, the equation has two real solutions.

In this case, the values of `a`, `b`, and `c` are 1, 4, and 2, respectively. The discriminant `d` is calculated as `4**2 - 4*1*2`, which is 8. Since `d` is positive, the equation has two real solutions, calculated as `(-4 + sqrt(8)) / (2*1)` and `(-4 - sqrt(8)) / (2*1)`. The output is `This equation has two solutions: -0.5857864376269049 and -3.414213562373095`.

# Conclusion

In this chapter, we have explored the `if` function in Python, its syntax, and how it can be used in mathematical contexts. We have seen how the `if`, `elif`, and `else` statements can be used to create conditional statements, and how logical operators such as `and`, `or`, and `not` can be used to combine multiple conditions. We have also seen how the `match` and `case` statements can be used to perform pattern matching in Python 3.10 and above. Through examples, we have demonstrated the use of `if` statements in mathematical contexts, such as checking if a number is even or odd and solving a quadratic equation.