Tkinter project: Simple Interest calculator
Blackmare01wolf

Blackmare01wolf @blackmare01wolf

About: Learn Python and GUI development the right way! Skilled in Tkinter and Kivy. Follow me for Python and GUI tutorials. Don’t forget to share my posts!

Location:
Kalikavu, Malappuram, Kerala, India
Joined:
Mar 17, 2025

Tkinter project: Simple Interest calculator

Publish Date: May 9
1 0

Introduction

This project is a Simple Interest Calculator built using Python’s Tkinter library, which provides a graphical user interface (GUI) for users to input values and calculate simple interest. It's designed to help students and beginners understand basic GUI development and financial calculations in Python.


Explanation

Tools Used:

  • Python — Programming language
  • Tkinter — GUI toolkit included in Python's standard library

Code Breakdown:

1. Importing & Creating the Window

from tkinter import *
b = Tk()
b.minsize(800, 600)
b.maxsize(800, 600)
Enter fullscreen mode Exit fullscreen mode
  • Tk() initializes the main window.
  • minsize and maxsize fix the window size to 600x600 pixels.

2. Interest Function

def Interest():
    try:
        P = int(e1.get())  # Principal
        R = int(e2.get())  # Rate
        T = int(e3.get())  # Time
        I = (P * R * T) / 100
        e4.delete(0, END)
        e4.insert(0, str(I))
    except ValueError:
        e4.delete(0, END)
        e4.insert(0, "Invalid Input")
Enter fullscreen mode Exit fullscreen mode
  • Gets user input for Principal (P), Rate (R), and Time (T).
  • Calculates Simple Interest using: [ \text{SI} = \frac{P \times R \times T}{100} ]
  • Displays the result.
  • Handles errors if input is not a number.

3. Labels and Input Fields

l1 = Label(b, text="Principal($):", font=("arial",15))
l2 = Label(b, text="Rate(%):", font=("arial",15))
l3 = Label(b, text="Time(year):", font=("arial",15))
l4 = Label(b, text="Simple Interest", font=("arial",15))

e1 = Entry(b, font=("arial",15))
e2 = Entry(b, font=("arial",15))
e3 = Entry(b, font=("arial",15))
e4 = Entry(b, font=("arial",15))
Enter fullscreen mode Exit fullscreen mode
  • Labels explain each input.
  • Entry boxes allow user input.

4. Button

b1 = Button(b, text="Check Simple Interest", font=("arial", 15), command=Interest)
Enter fullscreen mode Exit fullscreen mode
  • When clicked, the button calls the Interest() function.

5. Placing the Widgets

l1.grid(row=1, column=1)
l2.grid(row=2, column=1)
l3.grid(row=3, column=1)
l4.grid(row=5, column=1)

e1.grid(row=1, column=2)
e2.grid(row=2, column=2)
e3.grid(row=3, column=2)
e4.grid(row=5, column=2)

b1.grid(row=4, column=1)
Enter fullscreen mode Exit fullscreen mode
  • Positions all widgets using grid layout.

6. Mainloop

b.mainloop()
Enter fullscreen mode Exit fullscreen mode
  • Starts the GUI application loop so the window stays open.

Full code

from tkinter import *

b = Tk()
b.minsize(800, 600)
b.maxsize(800, 600)

def Interest():
    try:
        P = int(e1.get())
        R = int(e2.get())
        T = int(e3.get())
        I = (P * R * T)/100
        e4.delete(0, END)
        e4.insert(0, str(I))
    except ValueError:
        e4.delete(0, END)
        e4.insert(0, "Invalid Input")

l1 = Label(b, text="Principal($):", font=("arial",15))
l1.grid(row=1, column=1)
l2 = Label(b, text="Rate(%):", font=("arial",15))
l2.grid(row=2, column=1)
l3 = Label(b, text="Time(year):", font=("arial",15))
l3.grid(row=3, column=1)
l4 = Label(b, text="Simple Interest", font=("arial",15))
l4.grid(row=5, column=1)

e1 = Entry(b, font=("arial",15))
e1.grid(row=1, column=2)
e2 = Entry(b, font=("arial",15))
e2.grid(row=2, column=2)
e3 = Entry(b, font=("arial",15))
e3.grid(row=3, column=2)
e4 = Entry(b, font=("arial",15))
e4.grid(row=5, column=2)

b1 = Button(b, text="Check Simple Interest", font=("arial", 15),command=Interest)
b1.grid(row=4, column=1)

b.mainloop()
Enter fullscreen mode Exit fullscreen mode

Result


Conclusion

This Simple Interest Calculator demonstrates how Python's Tkinter can be used to create interactive desktop apps. It's perfect for beginner coders, especially students, to understand:

  • How functions and GUIs work together
  • How to collect and validate user input
  • How to perform basic mathematical operations in Python

You can expand this project by adding:

  • Compound Interest calculations
  • Input validation for negative numbers
  • A clear/reset button for fields

Comments 0 total

    Add comment