Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
Python Program to Create a class performing Calculator Operations
When it is required to create a class that performs calculator operations, object oriented method is used. Here, a class is defined, and attributes are defined. Functions are defined within the class that perform certain operations. An instance of the class is created, and the functions are used to perform calculator operations.
Below is a demonstration for the same ?
Example
class calculator_implementation():
def __init__(self, in_1, in_2):
self.a = in_1
self.b = in_2
def add_vals(self):
return self.a + self.b
def multiply_vals(self):
return self.a * self.b
def divide_vals(self):
return self.a / self.b
def subtract_vals(self):
return self.a - self.b
input_1 = int(input("Enter the first number: "))
input_2 = int(input("Enter the second number: "))
print("The entered first and second numbers are : ")
print(input_1, input_2)
my_instance = calculator_implementation(input_1, input_2)
choice = 1
while choice != 0:
print("0. Exit")
print("1. Addition")
print("2. Subtraction")
print("3. Multiplication")
print("4. Division")
choice = int(input("Enter your choice... "))
if choice == 1:
print("The computed addition result is : ", my_instance.add_vals())
elif choice == 2:
print("The computed subtraction result is : ", my_instance.subtract_vals())
elif choice == 3:
print("The computed product result is : ", my_instance.multiply_vals())
elif choice == 4:
print("The computed division result is : ", round(my_instance.divide_vals(), 2))
elif choice == 0:
print("Exit")
else:
print("Sorry, invalid choice!")
print()
Output
Enter the first number: 70 Enter the second number: 2 The entered first and second numbers are : 70 2 0. Exit 1. Addition 2. Subtraction 3. Multiplication 4. Division Enter your choice... 1 The computed addition result is : 72 0. Exit 1. Addition 2. Subtraction 3. Multiplication 4. Division Enter your choice... 2 The computed subtraction result is : 68 0. Exit 1. Addition 2. Subtraction 3. Multiplication 4. Division Enter your choice... 3 The computed product result is : 140 0. Exit 1. Addition 2. Subtraction 3. Multiplication 4. Division Enter your choice... 4 The computed division result is : 35.0 0. Exit 1. Addition 2. Subtraction 3. Multiplication 4. Division Enter your choice... 0 Exit
Enhanced Calculator with Error Handling
Here's an improved version with better error handling and additional features ?
class Calculator:
def __init__(self, num1, num2):
self.num1 = num1
self.num2 = num2
def add(self):
return self.num1 + self.num2
def subtract(self):
return self.num1 - self.num2
def multiply(self):
return self.num1 * self.num2
def divide(self):
if self.num2 == 0:
return "Error: Division by zero!"
return self.num1 / self.num2
def power(self):
return self.num1 ** self.num2
# Example usage
calc = Calculator(10, 5)
print("Calculator Operations:")
print(f"Addition: {calc.add()}")
print(f"Subtraction: {calc.subtract()}")
print(f"Multiplication: {calc.multiply()}")
print(f"Division: {calc.divide()}")
print(f"Power: {calc.power()}")
# Test division by zero
calc_zero = Calculator(10, 0)
print(f"Division by zero: {calc_zero.divide()}")
Calculator Operations: Addition: 15 Subtraction: 5 Multiplication: 50 Division: 2.0 Power: 100000 Division by zero: Error: Division by zero!
Explanation
- A class named
calculator_implementationis defined, that has functions likeadd_vals,subtract_vals,multiply_vals, anddivide_vals. - These are used to perform calculator operations such as addition, subtraction, multiplication, and division respectively.
- An instance of this class is created by passing two numbers as parameters.
- The interactive menu allows users to choose different operations repeatedly until they select exit.
- The enhanced version includes error handling for division by zero and uses more descriptive method names.
Conclusion
Using classes for calculator operations provides a clean, reusable structure. The object-oriented approach encapsulates data and methods together, making the code organized and easy to maintain.
Advertisements
