# Python program to make a calculator

This is a python program to make a calculator. We simply take two numbers and a choice of operation from the user and display the output.

To understand this example, you should have the knowledge of following topics in Python-

Lets get started!

## Example Program

``````num1 = int(input("Please enter the first number: "))
num2 = int(input("Please enter the second number: "))

choice = input("Please enter choice for operation. + is for addition, - is for subtraction, * is for multiplication and / is for division: ")

res = "";

if choice == '+':
res = num1 + num2

elif choice == '-':
res = num1 - num2

elif choice == '*':
res = num1 * num2

elif choice == '/':
res = num1 / num2

else:
print ("Please enter a valid choice")

if res != "":
print("The result is ", res)``````

## Explanation

• When this program will run, the user will see a message saying “Please enter the first number:”. When the user enters a number and press enter, the number will be stored in the variable num1.
• After pressing enter, the user will see another message saying “Please enter the second number:”. The second number entered by the user will be stored in the variable num2.
• After this a third message will appear saying “Please enter choice for operation. + is for addition, – is for subtraction, * is for multiplication and / is for division: “. When the user enters a choice and press enter, the preferred choice will be stored in the variable choice.
• After this, we have declared a variable named as res and initialized it with an empty string. This variable will store the calculated output at the end.
• We have made an if…elif…else tree to check and calculate the output depending upon the choice. For example if the choice is +, the calculation will be the sum of the two numbers.
• In the else part, we are not calculating anything but printing a message = “Please enter a valid choice”. This part will be executed if the user has not entered a choice out of +,-,*, and /.
• Lastly, we are checking the value of res variable. If its value is not an empty string(i.e., something else has been stored in it as the output), we display a message for the output.

## Making this program by a user defined-function

We have made a user-defined function that will take three arguments, two numbers and the choice of operation(+, – etc). This function when called, will either return the output or the invalid choice message.

``````num1 = int(input("Please enter the first number: "))
num2 = int(input("Please enter the second number: "))

choice = input("Please enter choice for operation. + is for addition, - is for subtraction, * is for multiplication and / is for division ")

res = "";

def calculate(num1, num2, choice):
invalidChoice = False
Output = ""
if choice == '+':
res = a + b

elif choice == '-':
res = a - b

elif choice == '*':
res = a * b

elif choice == '/':
res = a / b

else:
invalidChoice = True

if invalidChoice == True:
Output = "Please enter a valid choice for operation"
else:
Output = "The result is {}" . format(res)
return Output

out = calculate(num1, num2, choice)
print(out)``````

This is a simple calculator program in Python, that only works in the command line. However, we can also make an interactive calculator(which would have a Graphical User Interface) using Tkinter. Since Tkinter is an advanced topic in Python, we will do it in a separate program.