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

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay