Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 17f8b17

Browse filesBrowse files
authored
Update age_calc_gui.py
1 parent 696dfae commit 17f8b17
Copy full SHA for 17f8b17

File tree

Expand file treeCollapse file tree

1 file changed

+67
-60
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

1 file changed

+67
-60
lines changed
Open diff view settings
Collapse file

‎Age-Calculator-GUI/age_calc_gui.py‎

Copy file name to clipboard
+67-60Lines changed: 67 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,70 @@
11
# import libraries
2-
from tkinter import *
2+
import tkinter as tk
33
from datetime import date
44

5-
# initialized window
6-
root = Tk()
7-
root.geometry('280x300')
8-
root.resizable(0, 0)
9-
root.title('Age Calculator')
10-
statement = Label(root)
11-
12-
# defining the function for calculating age
13-
14-
15-
def ageCalc():
16-
global statement
17-
statement.destroy()
18-
today = date.today()
19-
birthDate = date(int(yearEntry.get()), int(
20-
monthEntry.get()), int(dayEntry.get()))
21-
age = today.year - birthDate.year
22-
if today.month < birthDate.month or today.month == birthDate.month and today.day < birthDate.day:
23-
age -= 1
24-
statement = Label(text=f"{nameValue.get()}'s age is {age}.")
25-
statement.grid(row=6, column=1, pady=15)
26-
27-
28-
# creating a label for person's name to display
29-
l1 = Label(text="Name: ")
30-
l1.grid(row=1, column=0)
31-
nameValue = StringVar()
32-
33-
# creating a entry box for input
34-
nameEntry = Entry(root, textvariable=nameValue)
35-
nameEntry.grid(row=1, column=1, padx=10, pady=10)
36-
37-
# label for year in which user was born
38-
l2 = Label(text="Year: ")
39-
l2.grid(row=2, column=0)
40-
yearValue = StringVar()
41-
yearEntry = Entry(root, textvariable=yearValue)
42-
yearEntry.grid(row=2, column=1, padx=10, pady=10)
43-
44-
# label for month in which user was born
45-
l3 = Label(text="Month: ")
46-
l3.grid(row=3, column=0)
47-
monthValue = StringVar()
48-
monthEntry = Entry(root, textvariable=monthValue)
49-
monthEntry.grid(row=3, column=1, padx=10, pady=10)
50-
51-
# label for day/date on which user was born
52-
l4 = Label(text="Day: ")
53-
l4.grid(row=4, column=0)
54-
dayValue = StringVar()
55-
dayEntry = Entry(root, textvariable=dayValue)
56-
dayEntry.grid(row=4, column=1, padx=10, pady=10)
57-
58-
# create a button for calculating age
59-
button = Button(text="Calculate age", command=ageCalc)
60-
button.grid(row=5, column=1)
61-
62-
# infinite loop to run program
63-
root.mainloop()
5+
# GUI App class
6+
class App:
7+
def __init__(self):
8+
# initialized window
9+
self.master = tk.Tk()
10+
self.master.geometry('280x300')
11+
self.master.configure(bg="lightblue")
12+
self.master.resizable(0, 0)
13+
self.master.title('Age Calculator')
14+
self.statement = tk.Label(self.master)
15+
16+
def run(self):
17+
# creating a label for person's name to display
18+
self.l1 = tk.Label(text="Name: ", font="courier 10", bg="lightblue")
19+
self.l1.grid(row=1, column=0)
20+
nameValue = tk.StringVar()
21+
22+
# creating a entry box for input
23+
self.nameEntry = tk.Entry(self.master, textvariable=nameValue, relief="solid")
24+
self.nameEntry.grid(row=1, column=1, padx=10, pady=10)
25+
26+
# label for year in which user was born
27+
self.l2 = tk.Label(text="Year: ", font="courier 10", bg="lightblue")
28+
self.l2.grid(row=2, column=0)
29+
yearValue = tk.StringVar()
30+
self.yearEntry = tk.Entry(self.master, textvariable=yearValue, relief="solid")
31+
self.yearEntry.grid(row=2, column=1, padx=10, pady=10)
32+
33+
# label for month in which user was born
34+
self.l3 = tk.Label(text="Month: ", font="courier 10", bg="lightblue")
35+
self.l3.grid(row=3, column=0)
36+
monthValue = tk.StringVar()
37+
self.monthEntry = tk.Entry(self.master, textvariable=monthValue, relief="solid")
38+
self.monthEntry.grid(row=3, column=1, padx=10, pady=10)
39+
40+
# label for day/date on which user was born
41+
self.l4 = tk.Label(text="Day: ", font="courier 10", bg="lightblue")
42+
self.l4.grid(row=4, column=0)
43+
dayValue = tk.StringVar()
44+
self.dayEntry = tk.Entry(self.master, textvariable=dayValue, relief="solid")
45+
self.dayEntry.grid(row=4, column=1, padx=10, pady=10)
46+
47+
# defining the function for calculating age
48+
def ageCalc():
49+
self.statement.destroy()
50+
today = date.today()
51+
birthDate = date(int(self.yearEntry.get()), int(
52+
self.monthEntry.get()), int(self.dayEntry.get()))
53+
age = today.year - birthDate.year
54+
if today.month < birthDate.month or today.month == birthDate.month and today.day < birthDate.day:
55+
age -= 1
56+
self.statement = tk.Label(text=f"{nameValue.get()}'s age is {age}.", font="courier 10", bg="lightblue")
57+
self.statement.grid(row=6, column=1, pady=15)
58+
59+
# create a button for calculating age
60+
self.button = tk.Button(text="Calculate age", font="courier 12 bold", fg="white", bg="dodgerblue", command=ageCalc)
61+
self.button.grid(row=5, column=1)
62+
63+
# infinite loop to run program
64+
self.master.mainloop()
65+
66+
67+
if __name__ == '__main__':
68+
age_calc = App()
69+
age_calc.run()
70+

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.