Created
June 5, 2022 15:14
-
-
Save PushkraJ99/2e883fda33934d222ffccbac2ad749a6 to your computer and use it in GitHub Desktop.
Age Calculator Python Project
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #Age-Calculator-Project (Github:-PushkraJ99) | |
| from tkinter import * | |
| from datetime import date | |
| win = Tk() | |
| win.title("AGE-CALCULATOR") #Title | |
| win.configure(bg="#4F4F4F") #Backround color | |
| win.geometry("400x400") #Size of the window | |
| new = Label(win,bg="#4F4F4F") | |
| new.grid(row=5,column=0,columnspan=3) | |
| today=str(date.today()) #Current date using datetime module | |
| list_today=today.split("-") #Converting into a list | |
| #Defining Calcutate age | |
| def age(b_date,b_month,b_year): | |
| global today | |
| global new | |
| new.grid_forget() | |
| b_date = int(dayEntry.get()) | |
| b_month = int(monthEntry.get()) | |
| b_year = int(yearEntry.get()) | |
| c_date = int(list_today[2]) | |
| c_month = int(list_today[1]) | |
| c_year = int(list_today[0]) | |
| month =[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] | |
| if(b_date>c_date): | |
| c_month=c_month-1 | |
| c_date=c_date+month[b_month-1] | |
| if (b_month>c_month): | |
| c_year=c_year-1 | |
| c_month=c_month+12 | |
| d_result = str(c_date-b_date) | |
| m_result = str(c_month-b_month) | |
| y_result = str(c_year-b_year) | |
| y_name = nameEntry.get() | |
| output = Label(win,text=y_name+" YOUR AGE \n"+y_result+" YEARS "+m_result+" MONTHS "+ d_result+" DAYS ",fg="#FFFFFF",bg="#4F4F4F",borderwidth=6) | |
| output.config(font=("Arial Rounded MT Bold",15)) | |
| output.grid(row=7,column=0,columnspan=3) | |
| #Defining Clear | |
| def clean(nameEntry,dayEntry,monthEntry,yearEntry): | |
| global new | |
| new.grid_forget() | |
| nameEntry.delete(0,END) | |
| dayEntry.delete(0,END) | |
| monthEntry.delete(0,END) | |
| yearEntry.delete(0,END) | |
| #Creating Widgets Labels | |
| title_label = Label(win,text="AGE CALCULATOR",borderwidth=10,fg="#FFFFFF",bg="#4F4F4F") | |
| title_label.config(font=("Poppins",29,"bold ")) | |
| title_label.grid(row=0,column=0,columnspan=3) | |
| name_label = Label(win,text="YOUR NAME : ",borderwidth=4,fg="#03DDFF",bg="#4F4F4F") | |
| name_label.config(font=("Arial Rounded MT Bold",15)) | |
| name_label.grid(row=1,column=0) | |
| date_label = Label(win,text="BIRTH DATE : ",borderwidth=4,fg="#57FF03",bg="#4F4F4F") | |
| date_label.config(font=("Arial Rounded MT Bold",15)) | |
| date_label.grid(row=2,column=0) | |
| month_label = Label(win,text="BIRTH MONTH : ",borderwidth=5,fg="#57FF03",bg="#4F4F4F") | |
| month_label.config(font=("Arial Rounded MT Bold",15)) | |
| month_label.grid(row=3,column=0) | |
| year_label = Label(win,text="BIRTH YEAR : ",borderwidth=9,fg="#57FF03",bg="#4F4F4F") | |
| year_label.config(font=("Arial Rounded MT Bold",15)) | |
| year_label.grid(row=4,column=0) | |
| nameEntry = Entry(width=20,borderwidth=3) | |
| dayEntry = Entry(width=20,borderwidth=3) | |
| monthEntry = Entry(width=20,borderwidth=3) | |
| yearEntry = Entry(width=20,borderwidth=3) | |
| nameEntry.grid(row=1,column=2) | |
| dayEntry.grid(row=2,column=2) | |
| monthEntry.grid(row=3,column=2) | |
| yearEntry.grid(row=4,column=2) | |
| #Getting Value in the Entry Boxes | |
| b_date = dayEntry.get() | |
| b_month = monthEntry.get() | |
| b_year = yearEntry.get() | |
| #Calling Age Function in button widget | |
| submit=Button(win,text="GET AGE !!",width=10,anchor=CENTER,command=lambda:age(b_date,b_month,b_year),bg="#6600CC",fg="#FFFFFF",borderwidth=5) | |
| submit.grid(row=5,column=0) | |
| #Calling Clean Function in button widget | |
| clear=Button(win,text="CLEAR",width=10,command=lambda:clean(nameEntry,dayEntry,monthEntry,yearEntry),bg="#6600CC",fg="#FFFFFF",borderwidth=5) | |
| clear.grid(row=5,column=2) | |
| win.mainloop() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment