On 11/12/2012 06:02 PM, duncan smith wrote:
On 12/11/12 13:40, F.R. wrote:
On 11/12/2012 02:27 PM, Robert Franke wrote:
Hi Frederic,

[...]

bas = {}
for year in range (2010, 2013):
     ba = st.runs ('BA', '%d-01-01' % year, '%d-12-31' % year)
     ba.run ()
print year, id (ba)
     bas [year] = ba

2010 150289932
2011 150835852
2012 149727788

for y in sorted (bas.keys ()):
     b = bas [year]
Shouldn't that be b = bas[y]?
Yes, it should, indeed! What's more, I should have closed and restarted
IDLE. There must have
been a name clash somewhere in the name space. The problem no longer
exists. Sorry
about that. And thanks to all who paused to reflect on this non-problem.
- Frederic.



     print y, id (b)

2010 149727788
2011 149727788
2012 149727788

[...]

Cheers,

Robert



The problem was that year was bound to the integer 2013 from the first loop. When you subsequently looped over the keys you printed each key followed by id(bas[2013]). Restarting IDLE only helped because you presumably didn't repeat the error.

Duncan

That's it! Isn't it strange how on occasion one doesn't see the most obvious and simple mistake, focusing beyond the realm of foolishness. Thanks all . . .

Frederic

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to