Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Trouble with for loop

Reply
Thread Tools

Trouble with for loop

 
 
Shriphani
Guest
Posts: n/a
 
      11-06-2007
Hello,
I want to try something like:

for (a, b, c, d, e, f) in [1, 2, 3, 4, 5, 6, 7, 8, 9]:
####

When I do that I get an error:
TypeError: unpack non-sequence

My main intention is to state that each of the variables namely a, b,
c, ## can take value from 1 to 9.
How do I go about this ?

Regards,
Shriphani Palakodety

 
Reply With Quote
 
 
 
 
Ant
Guest
Posts: n/a
 
      11-06-2007
On Nov 6, 9:59 am, Shriphani <(E-Mail Removed)> wrote:
....
> My main intention is to state that each of the variables namely a, b,
> c, ## can take value from 1 to 9.
> How do I go about this ?


It sounds like you are after something like:

for var in (a, b, c, d, e, f):
assert var in [1, 2, 3, 4, 5, 6, 7, 8, 9]

but it's hard to tell without some more information from you on
exactly what you are trying to achieve.

 
Reply With Quote
 
 
 
 
Paul Hankin
Guest
Posts: n/a
 
      11-06-2007

Shriphani wrote:
> Hello,
> I want to try something like:
>
> for (a, b, c, d, e, f) in [1, 2, 3, 4, 5, 6, 7, 8, 9]:
> ####
>
> When I do that I get an error:
> TypeError: unpack non-sequence
>
> My main intention is to state that each of the variables namely a, b,
> c, ## can take value from 1 to 9.
> How do I go about this ?


Do you want the variables to be indepenedent?

for a in range(1, 10):
for b in range(1, 10):
for c in range(1, 10):
for d in range(1, 10):
for e in range(1, 10):
for f in range(1, 10):
####

Or all the same?
for a in range(1, 10):
b = c = d = e = f = a

Whatever you're doing though, there's almost certainly a better way.

--
Paul Hankin

 
Reply With Quote
 
Amit Khemka
Guest
Posts: n/a
 
      11-06-2007
On 11/6/07, Shriphani <(E-Mail Removed)> wrote:
> Hello,
> I want to try something like:
>
> for (a, b, c, d, e, f) in [1, 2, 3, 4, 5, 6, 7, 8, 9]:
> ####
>
> When I do that I get an error:
> TypeError: unpack non-sequence
>
> My main intention is to state that each of the variables namely a, b,
> c, ## can take value from 1 to 9.
> How do I go about this ?


An ugly code for it would be :
<code>
for (a, b, c, d, e, f) in zip(*[range(1, 10)]*6):
print a, b, c, d, e, f
</code>

Cheers,

--
--
Amit Khemka
 
Reply With Quote
 
Shriphani
Guest
Posts: n/a
 
      11-06-2007
On Nov 6, 3:09 pm, Ant <(E-Mail Removed)> wrote:
> On Nov 6, 9:59 am, Shriphani <(E-Mail Removed)> wrote:
> ...
>
> > My main intention is to state that each of the variables namely a, b,
> > c, ## can take value from 1 to 9.
> > How do I go about this ?

>
> It sounds like you are after something like:
>
> for var in (a, b, c, d, e, f):
> assert var in [1, 2, 3, 4, 5, 6, 7, 8, 9]
>
> but it's hard to tell without some more information from you on
> exactly what you are trying to achieve.


I want to obtain a number whose first digit "a" is divisible by 1,
10*b +a is divisible by 2, 10^2*c + 10b + a is divisible by 3 and so
on.
I hope my question is a bit clearer now.
Thanks,
Shriphani Palakodety

 
Reply With Quote
 
Paul Hankin
Guest
Posts: n/a
 
      11-06-2007
On Nov 6, 10:19 am, Shriphani <(E-Mail Removed)> wrote:
> On Nov 6, 3:09 pm, Ant <(E-Mail Removed)> wrote:
>
> > On Nov 6, 9:59 am, Shriphani <(E-Mail Removed)> wrote:
> > ...

>
> > > My main intention is to state that each of the variables namely a, b,
> > > c, ## can take value from 1 to 9.
> > > How do I go about this ?

>
> > It sounds like you are after something like:

>
> > for var in (a, b, c, d, e, f):
> > assert var in [1, 2, 3, 4, 5, 6, 7, 8, 9]

>
> > but it's hard to tell without some more information from you on
> > exactly what you are trying to achieve.

>
> I want to obtain a number whose first digit "a" is divisible by 1,
> 10*b +a is divisible by 2, 10^2*c + 10b + a is divisible by 3 and so
> on.
> I hope my question is a bit clearer now.


Any time you want a bunch of variables with similar meanings, use an
list (or an array in most other languages) instead. It makes it
clearer what the relationship between the variables is, and it also
makes it much easier to extend the code (for instance, what if you
want to add another digit?)

a + 10*b == 0 (mod 2) => a is even
a + 10*b + ... + 10^4*e == 0 (mod 5) => a is 0 or 5

Therefore, a is 0, so only considering digits 1-9 is a mistake.

So, something like this is probably what you want...

for n in range(10 ** 5, 10 ** 6):
digits = map(int, str(n))
... test digits

--
Paul Hankin


 
Reply With Quote
 
Boris Borcic
Guest
Posts: n/a
 
      11-06-2007
Shriphani wrote:
> On Nov 6, 3:09 pm, Ant <(E-Mail Removed)> wrote:
>> On Nov 6, 9:59 am, Shriphani <(E-Mail Removed)> wrote:
>> ...
>>
>>> My main intention is to state that each of the variables namely a, b,
>>> c, ## can take value from 1 to 9.
>>> How do I go about this ?

>> It sounds like you are after something like:
>>
>> for var in (a, b, c, d, e, f):
>> assert var in [1, 2, 3, 4, 5, 6, 7, 8, 9]
>>
>> but it's hard to tell without some more information from you on
>> exactly what you are trying to achieve.

>
> I want to obtain a number whose first digit "a" is divisible by 1,
> 10*b +a is divisible by 2, 10^2*c + 10b + a is divisible by 3 and so
> on.


And so on ? up to how many digits ?

10^3 is divisible by 4 and 10^4 is divisible by 5 so that the conditions
on the fourth and fifth digits boil down to 10^2*c+10b+a being divisible
by 4 and 5 in supplement to 3, iow divisible by 60. This implies a==0 but you
seem to say that a must be in [1, 2, 3, 4, 5, 6, 7, 8, 9].


> I hope my question is a bit clearer now.


Not really

> Thanks,
> Shriphani Palakodety
>

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Triple nested loop python (While loop insde of for loop inside ofwhile loop) Isaac Won Python 9 03-04-2013 10:08 AM
Getting a loop to activate a loop above it Byte Python 4 03-24-2006 03:04 AM
Condition outside loop or separate loop for different condition? - Java 12 06-15-2005 08:50 AM
while loop in a while loop Steven Java 5 03-30-2005 09:19 PM
Loop the loop... =?Utf-8?B?VGltOjouLg==?= ASP .Net 2 02-16-2005 12:21 PM



Advertisments