# import all classes / functions from the tkinterfromtkinterimport*# Function for clearing the# contents of all entry boxesdefclear_all():# whole content of entry boxes is deletedprincipal_field.delete(0,END)rate_field.delete(0,END)time_field.delete(0,END)compound_field.delete(0,END)# set focus on the principal_field entry boxprincipal_field.focus_set()# Function to find compound interestdefcalculate_ci():# get a content from entry boxprincipal=int(principal_field.get())rate=float(rate_field.get())time=int(time_field.get())# Calculates compound interestCI=principal*(pow((1+rate/100),time))# insert method inserting the# value in the text entry box.compound_field.insert(10,CI)# Driver codeif__name__=="__main__":# Create a GUI windowroot=Tk()# Set the background colour of GUI windowroot.configure(background='light green')# Set the configuration of GUI windowroot.geometry("400x250")# set the name of tkinter GUI windowroot.title("Compound Interest Calculator")# Create a Principal Amount : labellabel1=Label(root,text="Principal Amount(Rs) : ",fg='black',bg='red')# Create a Rate : labellabel2=Label(root,text="Rate(%) : ",fg='black',bg='red')# Create a Time : labellabel3=Label(root,text="Time(years) : ",fg='black',bg='red')# Create a Compound Interest : labellabel4=Label(root,text="Amount : ",fg='black',bg='red')# grid method is used for placing# the widgets at respective positions# in table like structure .# padx keyword argument used to set padding along x-axis .# pady keyword argument used to set padding along y-axis .label1.grid(row=1,column=0,padx=10,pady=10)label2.grid(row=2,column=0,padx=10,pady=10)label3.grid(row=3,column=0,padx=10,pady=10)label4.grid(row=5,column=0,padx=10,pady=10)# Create a entry box# for filling or typing the information.principal_field=Entry(root)rate_field=Entry(root)time_field=Entry(root)compound_field=Entry(root)# grid method is used for placing# the widgets at respective positions# in table like structure .# padx keyword argument used to set padding along x-axis .# pady keyword argument used to set padding along y-axis .principal_field.grid(row=1,column=1,padx=10,pady=10)rate_field.grid(row=2,column=1,padx=10,pady=10)time_field.grid(row=3,column=1,padx=10,pady=10)compound_field.grid(row=5,column=1,padx=10,pady=10)# Create a Submit Button and attached# to calculate_ci functionbutton1=Button(root,text="Submit",bg="red",fg="black",command=calculate_ci)# Create a Clear Button and attached# to clear_all functionbutton2=Button(root,text="Clear",bg="red",fg="black",command=clear_all)button1.grid(row=4,column=1,pady=10)button2.grid(row=6,column=1,pady=10)# Start the GUIroot.mainloop()