Challenges

Reddit challenges in python language.

Files Code and Result

challenge1_easy

challenge2_easy

challenge3_easy

challenge4_easy

challenge5_easy

challenge6_easy

challenge7_easy

challenge8_easy

challenge9_easy

challenge10_easy

challenge11.easy

challenge12_easy

challenge13_easy

challenge14_easy

challenge15_easy

challenge16_easy

challenge17_easy

challenge18_easy

challenge19_easy

challenge20_easy

challenge21_easy

challenge22_easy

challenge23_easy

challenge25_easy

challenge26_easy

challenge27_easy

challenge28_easy

challenge29_easy

challenge30_easy

challenge31_easy

challenge32_easy

challenge33_easy

challenge34_easy

challenge35_easy

challenge36_easy

challenge37_easy

challenge38_easy

challenge39_easy

challenge40_easy

challenge41_easy

challenge42_easy

challenge44_easy

challenge45_easy

challenge46_easy

challenge47_easy

challenge48_easy

challenge49_easy

challenge50_easy

challenge51_easy

challenge52_easy

challenge53_easy

challenge54_easy

challenge55_easy

challenge56_easy

challenge57_easy

challenge58_easy

challenge59_easy

challenge60_easy

challenge61_easy

challenge62_easy

challenge63_easy

challenge64_easy

challenge65_easy

challenge66_Dev

challenge66_easy

challenge67_easy

challenge68_easy

challenge69_easy

challenge69_easyBonus

challenge70_easy

challenge71_easy.py

challenge72_easy

challenge73_easy

challenge74_easy

challenge76_easy

challenge77_easy

challenge79_easy

challenge80_easyone

challenge82_easy

challenge83_easy

challenge84_easy

challenge85_easy

challenge85_easybonus

challenge86_easy

challenge87_easy

challenge88_easy

challenge88_easybonus

challenge89_easy

challenge91_easy

challenge92_easy

challenge93_easy

challenge94_easy

challenge95_easy

challenge96_easy

challenge97_easy

challenge98_easy

challenge99_easy

challenge100_easy

challenge100_easybonus

challenge101_easy

challenge101_easybonus

challenge102_easy

challenge103_easy

challenge104_easy

challenge105_easy

challenge106_easy

challenge107_easy

challenge108_easy

challenge109_easy

challenge110_easy

challenge111_easy2

challenge112_easy

challenge113_easy

challenge114_easy

challenge115_easy

challenge116_easy

challenge117_easy

challenge118_easy

challenge119_easy

challenge121_easy

challenge122_easy

challenge125_easy

challenge126_easy

challenge130_easy

challenge143_easy

challenge146_easy

challenge148_easy

challenge149_easy

challenge153_easy

challenge154_easy

challenge158_easy

challenge158_easybonus

challenge159_easy

challenge160_easy

challenge169_easy

challenge169_easybonus

challenge172_easy

challenge174_easy

challenge175_easy

challenge177_easy

challenge180_easy

challenge181_easy

challenge185_easy

challenge192_easy

challenge193_easy

challenge197_easy

challenge198_easy

challenge199_easy

challenge201_easy

challenge202_easy

challenge203_easy

challenge204_easy

challenge204_easyBonus

challenge205_easy

challenge205_easyBonu

challenge206_easy

challenge208_easy

challenge210_easy

challenge211_easy

challenge212_easy

challenge212_easybonus

challenge213_easy

challenge214_easy

challenge215_easy

challenge216_easy

challenge217_easy

challenge218_easy

challenge218_easyBonus1

challenge218_easyBunus2

challenge219_easy

challenge220_easy.py

challenge221_easy

challenge221_easy

challenge222_easy

challenge222_easy.py

challenge223_easy

challenge226_easy

challenge226_easy

challenge228_easy.py

challenge228_easydev

challenge229_easy

challenge229_easybonus.py

challenge232_easy

challenge232_easy

challenge232_easybonus

challenge232_easybonus

challenge234_easy

challenge234_easybonus

challenge235_easy

challenge236_easy

challenge237_easy

challenge238_easy

challenge238_easybonus

challenge239_easy

challenge240_easy

challenge242_easy

challenge242_easy

challenge242_easyBonus

challenge243_easy

challenge245_easy

challenge245_easyBonus

challenge246_easy

challenge247_easy

challenge249_easy

challenge252_easy

challenge254_easy

challenge255_easy

challenge270_easy

challenge284_easy

challenge286_easy

challenge287_easy

challenge288_easy

challenge290_easy

challenge290_easybonus

challenge291_easy

challenge291_easybonus

challenge245_easyBonus

'''245
tomorrow
2010-dec-7
OCT 23
1 week ago
next Monday
last sunDAY
1 year ago
1 month ago
last week
LAST MONTH
10 October 2010
an year ago
2 years from tomoRRow
1 month from 2016-01-31
4 DAYS FROM today
9 weeks from yesterday'''

import datetime
#from datetime import date
import calendar

def submonth(d):
    year, month = d.year, d.month
    if month == 1:
        year -= 1; month = 12
    else:
        month -= 1
    try:
        return d.replace(year=year, month=month)
    except ValueError:
        return d.replace(day=1) - datetime.timedelta(1)


def add_months(sourcedate, months):
    month = sourcedate.month - 1 + months
    year = int(sourcedate.year + month / 12)
    month = month % 12 + 1
    day = min(sourcedate.day, calendar.monthrange(year, month)[1])
    return datetime.date(year, month, day)




if __name__ == '__main__':
    today = datetime.date.today()
    this_month = today.month


    one_day = datetime.timedelta(days=1)
    print('tomorrow: ', today + one_day)

    date = datetime.date(2010, 12, 7)
    print('2010-dec-7: ', date)

    this_year = today.year  # oct 23
    date = datetime.date(this_year, 10, 23)
    print('OCT 23: ', date)

    week_ago = datetime.timedelta(days=7)
    print('one week ago: ', today - week_ago)

    weekday = datetime.date.weekday(today)
    time_till_next_monday = (0 - weekday) % 7  # (n - weekday) to add time
    days_till = datetime.timedelta(days=time_till_next_monday)
    print('next Monday: ', today + days_till)

    last_sunday = (weekday - 6) % 7  # (weekday - n) to deduct time  # last sunday
    days_till = datetime.timedelta(days=last_sunday)
    print('last sunDay: ', today - days_till)

    year_ago = datetime.timedelta(days=365)
    print('1 year ago: ', today - year_ago)

    ans = submonth(datetime.date.today())
    print('1 month ago: ', ans)

    one_week = datetime.timedelta(days=7)
    print('last week: ', today - one_week)

    ans = submonth(datetime.date.today())
    print('LAST MONTH: ', ans)

    date = datetime.date(2010, 10, 10)
    print('10 October 2010: ', date)

    year_ago = datetime.timedelta(days=365)
    print('an year ago: ', today - year_ago)

    day = datetime.timedelta(days= 1)
    year = datetime.timedelta(days= 365)
    ans = today + day + 2 * year
    print('2 years from tomoRRow: ', ans)

    the_date = datetime.date(2016, 1, 31)
    ans = add_months(the_date, 1)
    print('1 month from 2016-01-31: ', ans)

    four_days = datetime.timedelta(days=4)
    print('4 DAYS FROM today: ', today + four_days)

    nine_weeks = datetime.timedelta(days=63)
    print('9 weeks from yesterday: ', today + nine_weeks - one_day)






'''
print ('ordinal:', today.toordinal())
print ('Year:', today.year)
print ('Mon :', today.month)
print ('Day :', today.day)
'''

Result

tomorrow:  2016-10-15
2010-dec-7:  2010-12-07
OCT 23:  2016-10-23
one week ago:  2016-10-07
next Monday:  2016-10-17
last sunDay:  2016-10-09
1 year ago:  2015-10-15
1 month ago:  2016-09-14
last week:  2016-10-07
LAST MONTH:  2016-09-14
10 October 2010:  2010-10-10
an year ago:  2015-10-15
2 years from tomoRRow:  2018-10-15
1 month from 2016-01-31:  2016-02-29
4 DAYS FROM today:  2016-10-18
9 weeks from yesterday:  2016-12-15