Python: Age Calculator using Tkinter (original) (raw)

from tkinter import *

from tkinter import messagebox

def clearAll() :

`` dayField.delete( 0 , END)

`` monthField.delete( 0 , END)

`` yearField.delete( 0 , END)

`` givenDayField.delete( 0 , END)

`` givenMonthField.delete( 0 , END)

`` givenYearField.delete( 0 , END)

`` rsltDayField.delete( 0 , END)

`` rsltMonthField.delete( 0 , END)

`` rsltYearField.delete( 0 , END)

def checkError() :

`` if (dayField.get() = = " " or monthField.get() == " "

`` or yearField.get() = = " " or givenDayField.get() == " "

`` or givenMonthField.get() = = " " or givenYearField.get() == " ") :

`` messagebox.showerror( "Input Error" )

`` clearAll()

`` return - 1

def calculateAge() :

`` value = checkError()

`` if value = = - 1 :

`` return

`` else :

`` birth_day = int (dayField.get())

`` birth_month = int (monthField.get())

`` birth_year = int (yearField.get())

`` given_day = int (givenDayField.get())

`` given_month = int (givenMonthField.get())

`` given_year = int (givenYearField.get())

`` month = [ 31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31 ]

`` if (birth_day > given_day):

`` given_month = given_month - 1

`` given_day = given_day + month[birth_month - 1 ]

`` if (birth_month > given_month):

`` given_year = given_year - 1

`` given_month = given_month + 12

`` calculated_day = given_day - birth_day;

`` calculated_month = given_month - birth_month;

`` calculated_year = given_year - birth_year;

`` rsltDayField.insert( 10 , str (calculated_day))

`` rsltMonthField.insert( 10 , str (calculated_month))

`` rsltYearField.insert( 10 , str (calculated_year))

if __name__ = = "__main__" :

`` gui = Tk()

`` gui.configure(background = "light green" )

`` gui.title( "Age Calculator" )

`` gui.geometry( "525x260" )

`` dob = Label(gui, text = "Date Of Birth" , bg = "blue" )

`` givenDate = Label(gui, text = "Given Date" , bg = "blue" )

`` day = Label(gui, text = "Day" , bg = "light green" )

`` month = Label(gui, text = "Month" , bg = "light green" )

`` year = Label(gui, text = "Year" , bg = "light green" )

`` givenDay = Label(gui, text = "Given Day" , bg = "light green" )

`` givenMonth = Label(gui, text = "Given Month" , bg = "light green" )

`` givenYear = Label(gui, text = "Given Year" , bg = "light green" )

`` rsltYear = Label(gui, text = "Years" , bg = "light green" )

`` rsltMonth = Label(gui, text = "Months" , bg = "light green" )

`` rsltDay = Label(gui, text = "Days" , bg = "light green" )

`` resultantAge = Button(gui, text = "Resultant Age" , fg = "Black" , bg = "Red" , command = calculateAge)

`` clearAllEntry = Button(gui, text = "Clear All" , fg = "Black" , bg = "Red" , command = clearAll)

`` dayField = Entry(gui)

`` monthField = Entry(gui)

`` yearField = Entry(gui)

`` givenDayField = Entry(gui)

`` givenMonthField = Entry(gui)

`` givenYearField = Entry(gui)

`` rsltYearField = Entry(gui)

`` rsltMonthField = Entry(gui)

`` rsltDayField = Entry(gui)

`` dob.grid(row = 0 , column = 1 )

`` day.grid(row = 1 , column = 0 )

`` dayField.grid(row = 1 , column = 1 )

`` month.grid(row = 2 , column = 0 )

`` monthField.grid(row = 2 , column = 1 )

`` year.grid(row = 3 , column = 0 )

`` yearField.grid(row = 3 , column = 1 )

`` givenDate.grid(row = 0 , column = 4 )

`` givenDay.grid(row = 1 , column = 3 )

`` givenDayField.grid(row = 1 , column = 4 )

`` givenMonth.grid(row = 2 , column = 3 )

`` givenMonthField.grid(row = 2 , column = 4 )

`` givenYear.grid(row = 3 , column = 3 )

`` givenYearField.grid(row = 3 , column = 4 )

`` resultantAge.grid(row = 4 , column = 2 )

`` rsltYear.grid(row = 5 , column = 2 )

`` rsltYearField.grid(row = 6 , column = 2 )

`` rsltMonth.grid(row = 7 , column = 2 )

`` rsltMonthField.grid(row = 8 , column = 2 )

`` rsltDay.grid(row = 9 , column = 2 )

`` rsltDayField.grid(row = 10 , column = 2 )

`` clearAllEntry.grid(row = 12 , column = 2 )

`` gui.mainloop()