Στις 17/9/2013 4:00 μμ, ο/η Roy Smith έγραψε:
In article <l19gdf$psh$1...@dont-email.me>,
  Ferrous Cranus <nikos.gr...@gmail.com> wrote:

o want to avoid having to type somehting like this:

if person="George":
        times in range(0, 5):


Why it gives me an error when i'm trying to write it like this:


if person="George" for times in range(0, 5):

Step One when reporting a problem is don't just tell us you got an
error.  Tell us what the error is.  Cut and paste the exact text of the
full error message.

Although, in this case, it's pretty easy to guess that it was a syntax
error :-)

I'm not sure where to start.  First, the '=' in 'person="George"' should
be '=='.  In Python, '=' is used for assignment, '==' is used for
equality testing.

Next, if you want to use the 1-line version of 'if', you need a ':'
after the condition.  Something like:

     if person == 'George': print 'foo'

but it's generally considered poor style to use 1-line if statements.
Just write it on two lines:

     if person == 'George':
         print 'foo'

They just discovered a huge newline vein in Montana and they're mining
the things like crazy.  There's no shortage of them so feel free to use
as many as you like.  They even get recycled.

But, I'm not even sure you can put a 'for' statement as the body of a
1-line 'if'.  I've never tried it before, and my one experiment now got
me a syntax error.  Even if it turns out to be legal and I just haven't
got the details right, it's just The Wrong Thing To Do.



I just want to say tot he program that

that only run the for statement if and only if person=='George'

I dont see nay reason as to why this fails

perhaps like:

for times in range(0, 5) if person=='George':

but that fails too...
there must be written on soem way.


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

Reply via email to