DEV Community

Lakshmi Pritha Nadesan
Lakshmi Pritha Nadesan

Posted on • Edited 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
num=1
while num<=5:
    print(num,end=" ")
    num+=1
num=5
while num>=1:
    print(num,end=" ")
    num-=1


Enter fullscreen mode Exit fullscreen mode
1 2 3 4 5 5 4 3 2 1
Enter fullscreen mode Exit fullscreen mode

Image of Timescale

Timescale – the developer's data platform for modern apps, built on PostgreSQL

Timescale Cloud is PostgreSQL optimized for speed, scale, and performance. Over 3 million IoT, AI, crypto, and dev tool apps are powered by Timescale. Try it free today! No credit card required.

Try free

Top comments (0)

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

👋 Kindness is contagious

Dive into an ocean of knowledge with this thought-provoking post, revered deeply within the supportive DEV Community. Developers of all levels are welcome to join and enhance our collective intelligence.

Saying a simple "thank you" can brighten someone's day. Share your gratitude in the comments below!

On DEV, sharing ideas eases our path and fortifies our community connections. Found this helpful? Sending a quick thanks to the author can be profoundly valued.

Okay