DEV Community

Lakshmi Pritha Nadesan
Lakshmi Pritha Nadesan

Posted on

Day 10 - Looping

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}")

Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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")

Enter fullscreen mode Exit fullscreen mode
You are 31 Years 7 Months 29 Days Old
Enter fullscreen mode Exit fullscreen mode

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")
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Some Examples for while looping:

no = 1
while no<=5:
    print(no, end=' ')
    no+=1
Enter fullscreen mode Exit fullscreen mode
1 1 1 1 1
Enter fullscreen mode Exit fullscreen mode
no = 1
while no<=10:
    print(no, end=' ')
    no+=1
Enter fullscreen mode Exit fullscreen mode
1 2 3 4 5 6 7 8 9 10
Enter fullscreen mode Exit fullscreen mode
no = 10
while no>=1:
    print(no, end=' ')
    no-=1
Enter fullscreen mode Exit fullscreen mode
10 9 8 7 6 5 4 3 2 1
Enter fullscreen mode Exit fullscreen mode
no = 1
while no<=10:
    print(no, end=' ')
    no+=2
Enter fullscreen mode Exit fullscreen mode
1 3 5 7 9
Enter fullscreen mode Exit fullscreen mode
no=2
while no<=10:
    print(no, end=' ')
    no+=2
Enter fullscreen mode Exit fullscreen mode
2 4 6 8 10
Enter fullscreen mode Exit fullscreen mode
no = 3
while no<=10:
    print(no, end=' ')
    no+=3
Enter fullscreen mode Exit fullscreen mode
3 6 9
Enter fullscreen mode Exit fullscreen mode
no = 1
total = 0
while no<=5:
    total = total + no
    no+=1

print(total)
Enter fullscreen mode Exit fullscreen mode
15
Enter fullscreen mode Exit fullscreen mode
no = 1
while no<=5:

    print(no*3, end=' ')


    no+=1
Enter fullscreen mode Exit fullscreen mode
3 6 9 12 15
Enter fullscreen mode Exit fullscreen mode
no = 1
while no<=10:
    print(no,"*5=",no*5, end='\n')
    no+=1
Enter fullscreen mode Exit fullscreen mode
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
Enter fullscreen mode Exit fullscreen mode
no = 1
while no<=10:
    print(no, end = ' ')
    if no==9:
        no = 0
    no+=2
Enter fullscreen mode Exit fullscreen mode
1 3 5 7 9 2 4 6 8 10
Enter fullscreen mode Exit fullscreen mode

Top comments (0)