Python doesn’t have a switch
statement like some other programming languages such as C or C++. Instead, you can achieve the same functionality using if
, elif
, and else
statements.
Certainly! Python introduced the match
statement in PEP 634, which is similar to a switch
statement in other languages. It’s available in Python 3.10 and later versions.
match value:
case pattern_1:
# Code block for pattern_1
case pattern_2:
# Code block for pattern_2
...
case pattern_n:
# Code block for pattern_n
case _:
# Code block for catch-all case
match
is the keyword that starts thematch
statement.value
is the expression you want to match against the patterns.case pattern:
is used to define different patterns you want to match against thevalue
.- The
case
lines are followed by indented code blocks where you specify what should be executed when a match is found. - You can have as many
case
blocks as needed, each with its corresponding pattern and code. - The
_
pattern is a catch-all case that will match anything that hasn’t been matched by the previous cases.
Arithmetic operations using switch case in Python example
Here’s how you can use the match
statement for arithmetic operations:
def arithmetic_operation(operator, num1, num2):
match operator:
case '+':
return num1 + num2
case '-':
return num1 - num2
case '*':
return num1 * num2
case '/':
if num2 != 0:
return num1 / num2
else:
return "Cannot divide by zero"
case _:
return "Invalid operator"
operator = input("Enter an operator (+, -, *, /): ")
num1 = float(input("Enter the first number: "))
num2 = float(input("Enter the second number: "))
result = arithmetic_operation(operator, num1, num2)
print("Result:", result)
Output:
In this code, the match
statement allows you to match the operator
against different cases and execute the corresponding block of code. The _
case is used as a catch-all for any other values that aren’t explicitly handled.
Note: this feature is available in Python 3.10 and later versions. If you’re using an older version of Python, you won’t be able to use the match
statement directly.
Another example
def arithmetic_operation(operator, num1, num2):
result = None
if operator == '+':
result = num1 + num2
elif operator == '-':
result = num1 - num2
elif operator == '*':
result = num1 * num2
elif operator == '/':
if num2 != 0:
result = num1 / num2
else:
result = "Cannot divide by zero"
else:
result = "Invalid operator"
return result
operator = input("Enter an operator (+, -, *, /): ")
num1 = float(input("Enter the first number: "))
num2 = float(input("Enter the second number: "))
result = arithmetic_operation(operator, num1, num2)
print("Result:", result)
In this example, the arithmetic_operation
function takes an operator (+
, -
, *
, /
) along with two numbers and performs the corresponding arithmetic operation. The function uses if
, elif
, and else
statements to handle different cases.
Note: The All JS Examples codes are tested on the Firefox browser and the Chrome browser.
OS: Windows 10
Code: HTML 5 Version