| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Python: Общие вопросы > разветвление в цикле |
| Автор: PyS 29.9.2006, 12:06 | ||
| Всем привет! Пожалуйста, помогите записать следующий код в одну строку:
|
| Автор: albertn 29.9.2006, 12:35 | ||
Получи:
Можно еще конечно через sys.stdout.write, но тогда нарушается концепция функционального программирования. |
| Автор: PyS 29.9.2006, 12:37 | ||
а вот такой?
|
| Автор: Artemios 29.9.2006, 12:41 | ||
|
| Автор: albertn 29.9.2006, 12:41 | ||||||
|
| Автор: Artemios 29.9.2006, 12:43 |
| Ой, сорри, не увидел, уже все написали |
| Автор: PyS 29.9.2006, 12:46 | ||
| albertn, спасибо! что-то я привел слишком простой код:
в вветвлениях разные операторы или блоки операторов |
| Автор: albertn 29.9.2006, 12:49 | ||||
Эт ты конечно загнул. В принципе это можно, но а нужно ли оно??? |
| Автор: Artemios 29.9.2006, 12:55 | ||
|
| Автор: albertn 29.9.2006, 12:55 | ||
Можно немного поприкалываюсь
Добавлено @ 12:56 Artemios, прям одновременно, но у тебя ошибки |
| Автор: PyS 29.9.2006, 12:58 |
| Artemios, спасибо, но как-то не читабельно. + у меня иногда "гонит" exec |
| Автор: proDiva 29.9.2006, 13:03 |
| До чего дошла наука! Хитро придумано......... |
| Автор: Artemios 29.9.2006, 13:12 |
где? я с консоли копировал, прежде проверив... |
| Автор: PyS 29.9.2006, 13:13 | ||
просто читать её будет сложно. |
| Автор: albertn 29.9.2006, 13:24 |
Пробелы не там вставил |
| Автор: PyS 29.9.2006, 13:29 |
| albertn, Artemios, это интересные моменты в программировании на питоне, но когда работаешь в группе, то лучше чтобы код был читабельным и для других. Добавлено @ 13:30 это пример для для одного elif, а если их около 10? Добавлено @ 13:33 вот интересный пример: http://omsk.lug.ru/wacko/Python/Perfomance/MyTips#h448-2 |
| Автор: albertn 29.9.2006, 13:33 | ||||
Поэтому и не стоит злоупотреблять минимизацией количества строк, а вставлять её там, где это действительно надо. Добавлено @ 13:38 а ничего не меняется
Но тут нужно быть внимательнее, т.к. то, что стоит после and должно быть истинным (нельзя false, 0, None, "", (), {}, ...) |
| Автор: Artemios 29.9.2006, 13:39 |
Неа, просто лишние в конце строк удалять лень было - они там значения неимеют. Где надо - стоит табуляция \t - для наглядности |
| Автор: albertn 29.9.2006, 13:41 | ||
Точно, а я и не заметил |
| Автор: PyS 29.9.2006, 13:52 | ||
а если код:
думаю хватит |
| Автор: Artemios 29.9.2006, 13:57 |
| Реально и это можно в одну строчку, только смысл? |
| Автор: PyS 29.9.2006, 14:03 |
просто нужно сильно сократить код, но при этом оставить его читабельным. |
| Автор: PyS 29.9.2006, 14:31 | ||
albertn, Согласен! Но когда у тебя строк так 200 -... то сильно сокращать охота. albertn, Artemios, спасибо! |
| Автор: Artemios 29.9.2006, 15:42 |
А что, это много? Было б за что... |
| Автор: setq 29.9.2006, 15:51 |
| Ну если все 200 строк состоят из elifов, то возможно имеет смысл заменить их на работу со словарём (как это порекомендовали в соседней теме). |
| Автор: proDiva 29.9.2006, 15:55 | ||||
Поподробнее, пожалуйста......
И вот здесь, пжалста))) |
| Автор: setq 29.9.2006, 17:18 | ||||
BAD
GOOD
|
| Автор: proDiva 30.9.2006, 09:22 |
| setq, красота одним словом, теперь так и буду писать |