On Jun 13, 11:21 am, "Diez B. Roggisch" <[EMAIL PROTECTED]> wrote: > [EMAIL PROTECTED] schrieb: > > > > > 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? > > Keep either a list or dictionary around. Like this: > > checkboxes = [] > > for o in xrange(25): > checkboxes.append(....create a checkbox...) > > self.checkboxes = checkboxes > > Diez
I don't understand... how do I then complete the assignment statement? If I have: self.checkbox1 = xrc.XRCCTRL(self.panel01, 'Checkbox1') . . . self.checkbox25 = xrc.XRCCTRL(self.panel01, 'Checkbox25') using your method, wouldn't I still need to figure out my original question? If I have a list of checkboxes, then I'll have: checkboxes = [checkbox1, checkbox2 ... checkbox25] in which case I'd still need to figure out how to get the variable at the end of checkbox to do the rest of the "=" statement. Or am I missing something? (I'm guessing that's likely!) Thanks. -- http://mail.python.org/mailman/listinfo/python-list