Write a program to accept a date as day, month and year from user and raise appropriate error(s) if legal value(s) is not supplied. Display appropriate message till user inputs correct value(s).


In [13]:
def checkLeap(year):
    if year%4 == 0 and year%100 != 0:
        return True
    elif year%100 == 0:
        if year%400==0:
            return True
    return False

def validateDate():
    while True:
        day = int(raw_input('Enter day: '))
        if not 0<day<32:
            print'Invalid Day Entered. Please try again'
        else:
            break
    while True:
        month = int(raw_input('Enter month: '))
        if not 0<month<13:
            print 'Invalid Month Entered. Please try again'
        else:
            break
    year = int(raw_input('Enter Year: '))
    isLeap = checkLeap(year)
    if month==2 and day>28+isLeap:
        print 'Invalid Date Entered. Please try again'
        
    if month in [4,6,9,11] and day>30:
        print 'Invalid Date Entered. Please try again'
    print 'Entered Date is valid'

In [10]:
#DO NOT WRITE BEYOND THIS POINT
1920%100


Out[10]:
20

In [5]:
checkLeap(2000)


Out[5]:
True

In [6]:
checkLeap(1900)


Out[6]:
False

In [7]:
checkLeap(2012)


Out[7]:
True

In [15]:
validateDate()


Enter day: 29
Enter month: 2
Enter Year: 2012
Entered Date is valid

In [ ]: