> -----Original Message----- > From: [EMAIL PROTECTED] [mailto:python- > [EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] > Sent: Friday, June 13, 2008 11:11 AM > To: python-list@python.org > Subject: Iterate creating variables? > > I have twenty-five checkboxes I need to create (don't ask): > > self.checkbox1 = ... > self.checkbox2 = ... > . > . > . > self.checkbox25 = ... > > Right now, my code has 25 lines in it, one for each checkbox, since > these are all variables. > > Is there a way to write a loop so that I can have fewer lines of code > but still keep the variables? > > I've tried: > > for o in xrange(25): > self.checkbox[o] = ... > > which didn't work, and > > for o in xrange(25): > self.checkbox[''%d'%(o)] = ... > > which also didn't work. > > Both give the error message: "Attribute error: Main.App has no > attribute "checkbox"", which clearly indicates that I'm not keeping > the "variability" aspect I want. > > Is there a way? > > I appreciate any and all answers!
Either store the checkboxes in an array or hash/dictionary. If that's not practical, then You can use strings to build the code and use eval to execute the string as code. Ex: for i in range(10): code = "%d + %d" % (i, i) print eval(code) -- http://mail.python.org/mailman/listinfo/python-list