DEV Community

Cover image for Conditional Statements in Python
≀Paulo Portela
≀Paulo Portela

Posted on • Updated on

Conditional Statements in Python

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:

if condition:
    # code to execute if condition is True
Enter fullscreen mode Exit fullscreen mode

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:

x = 10
if x < 0:
    print("x is negative")
elif x == 0:
    print("x is zero")
else:
    print("x is positive")
Enter fullscreen mode Exit fullscreen mode

Output:

x is positive
Enter fullscreen mode Exit fullscreen mode

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:

x = 10
y = 20
if x > 0 and y > 0:
    print("Both x and y are positive")
Enter fullscreen mode Exit fullscreen mode

Output:

Both x and y are positive
Enter fullscreen mode Exit fullscreen mode

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:

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")
Enter fullscreen mode Exit fullscreen mode

Output:

The condition is True
Enter fullscreen mode Exit fullscreen mode

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:

x = 10
match x:
    case 0:
        print("x is zero")
    case 1:
        print("x is one")
    case _:
        print("x is neither zero nor one")
Enter fullscreen mode Exit fullscreen mode

Output:

x is neither zero nor one
Enter fullscreen mode Exit fullscreen mode

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

x = 10
if x % 2 == 0:
    print("x is even")
else:
    print("x is odd")
Enter fullscreen mode Exit fullscreen mode

Output:

x is even
Enter fullscreen mode Exit fullscreen mode

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

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}")
Enter fullscreen mode Exit fullscreen mode

Output:

This equation has two solutions: -0.5857864376269049 and -3.414213562373095
Enter fullscreen mode Exit fullscreen mode

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.

Top comments (0)