It bugs me that so many people are quick to jump on the "we wont' do your homework" bandwagon -- I was accused of the same thing when I posted a question to the list myself. I've been programming professionally for many years but learning Python in my spare time... I sent this reply to Sean privately, but frankly I'm so annoyed at the 'homework' replies, I figured I'd just post it here.

I'm still very junior to Python, but this seems to work for me using recursion. I'm sure there's a much more elegant way of doing this, but like I said, I'm still pretty new to the language.

def makelist(startmonth,startyear,endmonth,endyear):
    mylist = []
    if (startyear == endyear):
        for month in range (startmonth,endmonth+1):
            mylist += [(startyear,month)]
    else:
        for month in range (startmonth,13):
            mylist += [(startyear,month)]
        mylist += makelist(1,startyear+1, endmonth, endyear)
    return mylist ;

print makelist(8,2009,1,2010)

I'd love to hear any replies from the experts on the list on how to make this more efficient in Python 'cause I'm still learning myself.


On 02/01/2011 05:14 PM, Elwin Estle wrote:
--- On Tue, 2/1/11, Sean Carolan<scaro...@gmail.com>  wrote:

What would be the most straightforward way to create a list
of
year/month pairs from start to end?  I want to end up
with a list of
tuples like this:

mylist = [(2009, 8), (2009, 9), (2009, 10), (2009, 11),
(2009, 12), (2010, 1)]
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to