Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 27 additions & 18 deletions Age Calculator/calculate.py
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
import time
from calendar import isleap

def judge_leap_year(year):
if isleap(year):
return True
else:
return False
# Check if a year is a leap year
def judge_leap(year: int) -> bool:
return isleap(year)

def month_days(month, leap_year):
# Return number of days in a month, considering leap years
def month_days(month: int, leap_year: bool) -> int:
if month in [1, 3, 5, 7, 8, 10, 12]:
return 31
elif month in [4, 6, 9, 11]:
return 30
elif month == 2 and leap_year:
return 29
elif month == 2 and (not leap_year):
else:
return 28


# User input
name = input("Please enter your name: ")
age = input("Please enter your age: ")
age = int(input("Please enter your age: "))

localtime = time.localtime(time.time())

year = int(age)
Expand All @@ -29,16 +29,25 @@ def month_days(month, leap_year):
begin_year = int(localtime.tm_year) - year
end_year = begin_year + year

# Count days in past years
for y in range(begin_year, end_year):
if (judge_leap_year(y)):
day = day + 366
if judge_leap(y):
day += 366
else:
day = day + 365
day += 365

leap_year = judge_leap_year(localtime.tm_year)
# Add days from current year
leap_year = judge_leap(localtime.tm_year)
for m in range(1, localtime.tm_mon):
day = day + month_days(m, leap_year)

day = day + localtime.tm_mday
print("\n\t%s's age is %d years or " % (name, year), end="")
print("%d months or %d days" % (month, day))
day += month_days(m, leap_year)

# Approximate breakdown (ignores time of day)
hours = day * 24
minutes = hours * 60
seconds = minutes * 60
Comment on lines +44 to +47
Copy link
Preview

Copilot AI Sep 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The age calculation is incomplete as it's missing the current day addition (line 44 in original code). Without adding localtime.tm_mday, the day count will be short by the current day of the month, making all subsequent time calculations inaccurate.

Copilot uses AI. Check for mistakes.


print(f"\nHello {name}, you are approximately:")
print(f" {day:,} days")
print(f" {hours:,} hours")
print(f" {minutes:,} minutes")
print(f" {seconds:,} seconds old!")