Code style query: multiple assignments in if/elif tree
Chris Angelico
rosuav at gmail.com
Mon Mar 31 12:03:54 EDT 2014
On Tue, Apr 1, 2014 at 2:40 AM, Marko Rauhamaa <marko at pacujo.net> wrote:
> As a simple layout question, I'd do it like this:
>
> ========================================================================
> if mode == "Brake2":
> # Already got the brakes fully on
> distance_to_full_braking_power = 0.0
> speed_full_brake = curspeed
> elif mode == "Brake1":
> # The brakes went on one second ago, they're nearly full
> distance_to_full_braking_power = curspeed - 0.2125
> speed_full_brake = curspeed - 0.425
> else:
> # Brakes aren't on.
> distance_to_full_braking_power = (curspeed - 0.1) + (curspeed - 0.4125)
> speed_full_brake = curspeed - 0.625
>
> # If we hit the brakes now (or already have hit them), we'll go another
> # d meters and be going at s m/s before reaching full braking power.
> ========================================================================
No particular advantage over the current version - it doesn't simplify
it any, all you've done is break it across more lines.
(The unpacking may not be ideal; as I said, this was a vehicle for
teaching oddments of Python, so I used multiple assignment partly for
the sake of using it.)
Incidentally, if you want to see the code in context, it's here:
https://github.com/Rosuav/runningtime/blob/master/runningtime.py
ChrisA
More information about the Python-list
mailing list