Combining colon statements on one line?

Alex Hunsley lard at tardis.ed.ac.molar.uk
Mon Jul 19 20:03:39 EDT 2004


Dave Blackington wrote:
> Hi, I'm trying to figure out how to combine an 'if'
> and 'else' statement on one line.  Tonight I was
> programming and came up with a very short if/else
> scenario that demanded 4 lines due to the fact that
> python can't read an 'if' & 'else' on the same line. 
> In order to do the same thing in 1 line, I needed to
> make a dictionary.  If you want to know the whole
> scenario. Here it is:
> 
> '972' '006'
> 
> I have two dates without the millenium included. 
> Using basic 'if' 'else' communication, this, it seems
> to me would require 4 lines of python to add the
> correct millenium.  These lines will also be so short
> and waste a lot of blank space on the screen which
> could be devoted to other commands in your function.
> For digestion and organization purposes, it seems like
> it helps to limit your functions (whenever possible)
> to one screen.  Taking up those 4 lines for such a
> simple short 'if' 'else' seems a bit much, no?

Not really. If programmers were just obsessed with taking up as little 
space as possible, we wouldn't have whitespace in our code. All the code 
  would fit in very little space but it would be very, very hard to read 
and edit.
Minimising the length of the code isn't everything - readability (and 
hence maintainability) counts for a lot.

Others have posted one liners that would do the trick but personally I'd 
write it out with ifs for the sake of clarity...
alex




More information about the Python-list mailing list