On 22 Jul 2006, [EMAIL PROTECTED] wrote:
>
> On Sat, 2006-07-22 at 14:11 +0100, John CORRY wrote:
>> Hi,
>>
>> I am refactoring my code. I am trying to reduce the amount of lines
>> by using more loops. I tend to use copy and paste a lot instead of
>> writing a loop to do the work.
>>
>> For example, I have 30 textentry boxes numbered from entry20 to
>> entry50.
>> I have used the following code to assign the entryboxes to a local
>> name.
>>
>> text20 = self.wTree.get_widget("entry20")
>> text21 = self.wTree.get_widget("entry21")
>>
>> I have had a go at writing a loop for the above 30 textentry boxes.
>> It is below, but it does not work.
>>
>> for x in range(20,51):
>> ent = "entry%s" % (str(x))
>>
>> text_x = self.wTree.get_widget(ent)
>>
>> Is it possible to do what I want it to do?
>
> NO. You are looking to create local variables "on the fly". But there
> is a simple solution that accomplishes what you really want.
The "no" is not absolutely right IMO. He could write directly in the
dictionary he gets when he calls locals() (but I think you're right in
saying that this is only seldom a good idea).
Karl
--
Please do *not* send copies of replies to me.
I read the list
_______________________________________________
Tutor maillist - [email protected]
http://mail.python.org/mailman/listinfo/tutor