None returned?

Steve Holden steve at holdenweb.com
Thu Jul 5 20:28:28 EDT 2007


robinsiebler at gmail.com wrote:
> I can't figure out -what- is going wrong here.  When the code reaches
> the 'return' line, there is data to be returned, but when it exits out
> to the calling function, 'None' is returned!
> 
> import mx.DateTime
> 
> def get_weeks(weeks, year, dates, date_list={}):
>     if dates.has_key(year):
>         date_list[year] = dates[year].keys()[-weeks:]
>         if len(dates[year].keys()) >= weeks:
>             return date_list
>         else:
>             weeks = weeks - len(dates[year].keys())
>             get_weeks(weeks, str(int(year) -1), dates, date_list)
> 
So if the else branch is taken here you end up dropping of the end of 
the function's code, which will return None.

> def get_report_dates(weeks, dates):
>     today = mx.DateTime.now()
>     this_week = today.iso_week[1]
>     rpt_dates = get_weeks(weeks, str(today.year), dates)
>     print rpt_dates
> 
> def main():
> 
>     dates = {'2006': {'50': [50, 'This is the 50th week'],
>                             '51': [51, 'This is the 51st week'],
>                             '52': [52, 'This is the 52nd week']},
>                  '2007': {'25': [1, 'This is the 1st week'],
>                             '26': [2, 'This is the 2nd week'],
>                             '27': [3, 'This is the 3rd week'],
>                             '28': [4, 'This is the 4th week'],
>                             '29': [5, 'This is the 5th week']}}
> 
>     get_report_dates(6, dates)
> 

regards
  Steve
-- 
Steve Holden        +1 571 484 6266   +1 800 494 3119
Holden Web LLC/Ltd           http://www.holdenweb.com
Skype: holdenweb      http://del.icio.us/steve.holden
--------------- Asciimercial ------------------
Get on the web: Blog, lens and tag the Internet
Many services currently offer free registration
----------- Thank You for Reading -------------




More information about the Python-list mailing list