Write a program to calculate age:
from datetime import datetime
dob = input("Enter your Date of Birth (yyyy-mm-dd): ")
dob_date = datetime.strptime(dob, "%Y-%m-%d")
print(dob_date)
current_date = datetime.now()
age = current_date.year - dob_date.year
print(f"Your age is {age}")
datetime.now()-datetime.now() is a function in Python's datetime module that returns the current local date and time, including microseconds, as a datetime object.
strptime()-The strptime() method in Python is used to parse (convert) a string representing a date and/or time into a datetime object. It is part of the datetime module.
Enter your Date of Birth (yyyy-mm-dd): 1993-03-26
1993-03-26 00:00:00
Your age is 31
Another method:
If we have result in negative numbers, use this method
from datetime import date
birth_year = 1993
birth_month = 3
birth_day = 26
today = date.today()
year = today.year - birth_year
month = today.month - birth_month
days = today.day - birth_day
if month<0:
year = year - 1
month = 12+month
if days<0:
month=month-1
days = 30 + days
print (f"You are {year} Years {month} Months {days} Days Old")
You are 31 Years 7 Months 29 Days Old
Alternate method using relativedelta:
from datetime import datetime
from dateutil.relativedelta import relativedelta
dob = input("Enter date of birth in yyyy-mm-dd format: ")
dob_date = datetime.strptime(dob, "%Y-%m-%d")
today = datetime.now()
difference = relativedelta(today, dob_date)
print(difference.years, " Years ", difference.months, " Months ", difference.days, " days")
relativedelta is a part of the dateutil module in Python, which provides more powerful operations for date and time manipulation than the standard library's timedelta. It allows you to perform operations like adding or subtracting months and years, which timedelta cannot handle directly.
Enter date of birth in yyyy-mm-dd format: 1993-03-26
31 Years 7 Months 30 days
Some Examples for while looping:
no = 1
while no<=5:
print(no, end=' ')
no+=1
1 1 1 1 1
no = 1
while no<=10:
print(no, end=' ')
no+=1
1 2 3 4 5 6 7 8 9 10
no = 10
while no>=1:
print(no, end=' ')
no-=1
10 9 8 7 6 5 4 3 2 1
no = 1
while no<=10:
print(no, end=' ')
no+=2
1 3 5 7 9
no=2
while no<=10:
print(no, end=' ')
no+=2
2 4 6 8 10
no = 3
while no<=10:
print(no, end=' ')
no+=3
3 6 9
no = 1
total = 0
while no<=5:
total = total + no
no+=1
print(total)
15
no = 1
while no<=5:
print(no*3, end=' ')
no+=1
3 6 9 12 15
no = 1
while no<=10:
print(no,"*5=",no*5, end='\n')
no+=1
1 *5= 5
2 *5= 10
3 *5= 15
4 *5= 20
5 *5= 25
6 *5= 30
7 *5= 35
8 *5= 40
9 *5= 45
10 *5= 50
no = 1
while no<=10:
print(no, end = ' ')
if no==9:
no = 0
no+=2
1 3 5 7 9 2 4 6 8 10
Top comments (0)