Add files via upload · python/python-docs-ja@b7ba9c3

1+

import tkinter as tk

2+

from tkinter import messagebox

3+

from datetime import datetime

4+5+

# Function to calculate age

6+

def calculate_age():

7+

try:

8+

year = int(entry_year.get())

9+

month = int(entry_month.get())

10+

day = int(entry_day.get())

11+

today = datetime.today()

12+

birth_date = datetime(year, month, day)

13+

age = today.year - birth_date.year - ((today.month, today.day) < (birth_date.month, birth_date.day))

14+

messagebox.showinfo("Age Calculator", f"Hello, {entry_name.get()}!\nYou are {age} years old.")

15+

except ValueError:

16+

messagebox.showerror("Input Error", "Please enter valid numerical values for year, month, and day.")

17+18+

# Setting up the GUI

19+

root = tk.Tk()

20+

root.title("Age Calculator")

21+22+

# Labels

23+

label_name = tk.Label(root, text="Name:")

24+

label_name.grid(row=0, column=0, padx=10, pady=10)

25+26+

label_year = tk.Label(root, text="Year of Birth:")

27+

label_year.grid(row=1, column=0, padx=10, pady=10)

28+29+

label_month = tk.Label(root, text="Month of Birth:")

30+

label_month.grid(row=2, column=0, padx=10, pady=10)

31+32+

label_day = tk.Label(root, text="Day of Birth:")

33+

label_day.grid(row=3, column=0, padx=10, pady=10)

34+35+

# Entry widgets

36+

entry_name = tk.Entry(root)

37+

entry_name.grid(row=0, column=1, padx=10, pady=10)

38+39+

entry_year = tk.Entry(root)

40+

entry_year.grid(row=1, column=1, padx=10, pady=10)

41+42+

entry_month = tk.Entry(root)

43+

entry_month.grid(row=2, column=1, padx=10, pady=10)

44+45+

entry_day = tk.Entry(root)

46+

entry_day.grid(row=3, column=1, padx=10, pady=10)

47+48+

# Button to calculate age

49+

button_calculate = tk.Button(root, text="Calculate Age", command=calculate_age)

50+

button_calculate.grid(row=4, column=0, columnspan=2, pady=20)

51+52+

# Run the GUI

53+

root.mainloop()