A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2004-January/042294.html below:

[Python-Dev] extended if and while statements

[Python-Dev] extended if and while statements [Python-Dev] extended if and while statementsRaymond Hettinger python at rcn.com
Tue Jan 27 23:07:42 EST 2004
> if book_count() ..
>   == 1: purchase_9_books()
>   == 2: purchase_8_books()
>   <  5: purchase_5_books()
> else:
>   rearrange_bookshelves()

When the action clause is listed on a separate line (as it should be)
as it must be for multi-line blocks, the result is not as pretty
and shows that an additional level of indentation is required with
almost no pay-off:

if book_count() ..
    == 1:
        purchase_9_books()
    == 2:
        purchase_8_books()
    < 5:
        purchase_5_books()
    else:
        rearrange_bookshelves

I don't see this as a win over the following equivalent:

> nBooks = book_count()
> if nBooks == 1:
>    purchase_9_books()
> elif nBooks == 2:
>    purchase_8_books()
> elif nBooks < 5:
>    purchase_5_books()
> else:
>    rearrange_bookshelves()


I recommend teasing out the idea on comp.lang.python.
There will be no shortage of criticisms on every possible
variation.  There have been many suggestions for a switch 
statement and a couple of them were elegant and pythonic.


Here is one variant:

select book_count():
    case 1:
         purchase_9_books()
    case 2:
        purchase_8_books()
    case < 5:
        purchase_5_books()
    else:
        rearrange_bookshelves 


Here is a link to one of the many threads on ideas for
python switch-case statements:

	http://groups.google.com/groups?th=1fafecbd71f20d27


Raymond Hettinger


More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4