# Simple Calculator in Python
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
def divide(x, y):
if y == 0:
return "Error! Division by zero."
return x / y
print("Select operation:")
print("1. Add")
print("2. Subtract")
print("3. Multiply")
print("4. Divide")
while True:
choice = input("Enter choice (1/2/3/4): ")
if choice in ('1', '2', '3', '4'):
num1 = float(input("Enter first number: "))
num2 = float(input("Enter second number: "))
if choice == '1':
print(f"Result: {add(num1, num2)}")
elif choice == '2':
print(f"Result: {subtract(num1, num2)}")
elif choice == '3':
print(f"Result: {multiply(num1, num2)}")
elif choice == '4':
print(f"Result: {divide(num1, num2)}")
else:
print("Invalid input")
next_calculation = input("Do you want to perform another calculation? (yes/no): ")
if next_calculation.lower() != "yes":
break
print("Goodbye!")
✅ How to run it:
- Save it as calculator.py
- Run it in your terminal:
python calculator.py
With a GUI
import tkinter as tk
def click(event):
text = event.widget.cget("text")
if text == "=":
try:
result = eval(screen.get())
screen_var.set(result)
except Exception as e:
screen_var.set("Error")
elif text == "C":
screen_var.set("")
else:
screen_var.set(screen_var.get() + text)
root = tk.Tk()
root.title("Calculator")
root.geometry("300x400")
screen_var = tk.StringVar()
screen = tk.Entry(root, textvar=screen_var, font="lucida 20 bold")
screen.pack(fill="x", ipadx=8, pady=10, padx=10)
button_texts = [
["7", "8", "9", "/"],
["4", "5", "6", "*"],
["1", "2", "3", "-"],
["0", ".", "=", "+"],
["C"]
]
for row in button_texts:
frame = tk.Frame(root)
frame.pack()
for btn_text in row:
button = tk.Button(frame, text=btn_text, font="lucida 15 bold", padx=20, pady=20)
button.pack(side="left", padx=5, pady=5)
button.bind("<Button-1>", click)
root.mainloop()
✅ How to run it:
- Save it as calculator_gui.py
- Run:
python calculator_gui.py