While there is no built-in switch-case statement in Python programming like in Java, you can achieve the same in certain ways.
Example 1: Using dictionary
def switch_case(case):
switch = {
1: "Case 1",
2: "Case 2",
3: "Case 3"
}
return switch.get(case, "Invalid case option!")
# Example usage:
print(switch_case(1))
print(switch_case(2))
print(switch_case(3))
# Invalid
print(switch_case(4))
You can also call a function based on the case match.
Example 2: With Functionsdef switch_case(case):
switch = {
1: func1,
2: func2,
}
func = switch.get(case, lambda: print("Invalid case option!"))
return func()
def func1():
print("func 1!")
def func2():
print("func 2!")
# Example usage:
switch_case(1)
switch_case(2)
switch_case(3)
Now let's make use of the default case when there is no match.
Example 3: Default case
def switch_case(case):
switch = {
1: func1
}
func = switch.get(case, default_case)
return func()
def func1():
print("func 1!")
def default_case():
print("Default case!")
# Example usage:
switch_case(1)
switch_case(2)
If you are using Python 3.10 or above you can make use of the pattern matching to implement switch-case.
Example 4: Pattern Matching (Python 3.10)def calculator(num1, num2, operator):
match operator:
case '+':
return num1 + num2
case '-':
return num1 - num2
case '*':
return num1 * num2
case '/':
if num2 != 0:
return num1 / num2
else:
return "Error: Cannot divide by zero"
case _:
return "Error: Invalid operator!"
print("---- Switch Case Based Calculator ----")
num1 = float(input("Enter 1st number: "))
num2 = float(input("Enter 2nd number: "))
operator = input("Enter the operator (+, -, *, /): ")
result = calculator(num1, num2, operator)
print("Result:", result)
---- Switch Case Based Calculator ----
Enter 1st number: 10
Enter 2nd number: 20
Enter the operator (+, -, *, /): *
Result: 200.0
-
Facing issues? Have Questions? Post them here! I am happy to answer!
More Posts related to Python,
- Python: Convert Date to DateTime
- How to sort a List using Lambda in Python
- Python matplotlib segmentation fault: 11 macOS Big Sur
- What is Terminal Velocity and its Formula? How to calculate it programmatically?
- How to install Python 3.11 on Mac
- How to flatten a nested list in Python
- Python: Pandas Merge DataFrames on Index Example
- How to Run all Cells at Once Jupyter Notebook
- Python - Convert float to String
- How to add borders to tkinter label text
- How to Exit a Loop in Python Code
- [Python] Fix: ValueError: All arrays must be of the same length
- Sorting an array using Bubble Sort in Python Programming
- How to Unzip a file using Python
- Python: Merge DataFrames Pandas Outer Join Example
- Change label (text) color in tkinter
- Convert Float to String in Python
- Fix: fatal error: No such file or directory compilation terminated
- Python: Access index/counter of a for loop iteration
- Import Other Python Files Examples
- How to install Anaconda on Mac (M1/M2 Mac)
- Python Regular Expression to Find All Matches in List
- How to Read a binary File with Python
- How to disable warnings while Python file execution
- Know current Python Version
More Posts:
- How to Sync iPhone with iPad - iOS
- How to lock Notepad++ tabs? - NotepadPlusPlus
- [Fix] ./gradlew: Permission denied - Gradle
- Notepad++ insert a blank line above or below the current line example - NotepadPlusPlus
- How to Highlight Text in Notepad++ in various Colors - NotepadPlusPlus
- Nano Undo/Redo Keyboard Shortcuts - Linux
- Mac: How to Open Android Studio from Terminal - MacOS
- Fix - Microsoft Teams Operation Failed With Unexpected Error - Teams