> 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
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