Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 9, 2011 19:21:02

pavelr
От:
Зарегистрирован: 2011-04-22
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Цикл с постусловием и множественный выбор

Доброго времени суток!
Уважаемые форумчане, подскажите,пожалуйста,как в Python можно реализовать цикл с постусловием(аналог паскалевского repeat-until) и множественный выбор(аналог case-switch)?
И еще:вот,например,сортировка слиянием 2-х упорядоченных по возрастанию массивов-в Python реализуется императивными средствами или более эффективно с использованием map,lambda и т.д.
Заранее бланодарен!



Офлайн

#2 Сен. 9, 2011 20:58:55

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Цикл с постусловием и множественный выбор

Если коротко - таких конструкций нет.

while 1:
some calc
if some:break

if i==1:
code 1
elif:
code 2
....
можно и так:
def fsw(x,ca):
sw={
1:lambda :x*2,
2:lambda :x*15
}
return sw[ca]()
Сортировку лучше всего осуществлять стандартными библиотечными средствами



Офлайн

#3 Сен. 9, 2011 21:10:58

apologize828
От:
Зарегистрирован: 2010-02-13
Сообщения: 223
Репутация: +  1  -
Профиль   Отправить e-mail  

Цикл с постусловием и множественный выбор

цикл с постусловием: Зачем цикл организовывать вообще, если заведомо предполагается лишь единичное исполнение цикла?
switch/case:
http://www.python.org/dev/peps/pep-0275/
http://www.python.org/dev/peps/pep-3103/
сортировка: все уже давно написано(как посоветовал doza_and сортировку лучше всего осуществлять стандартными библиотечными средствами), зачем изобретать велосипед?



Офлайн

#4 Сен. 9, 2011 21:53:37

pared
От:
Зарегистрирован: 2011-09-05
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Цикл с постусловием и множественный выбор

Сколько себя помню ненавидел Питон. когда в универе изучали, потом на работе пригодился… и сейчас тоже, но приходится изучать))



Офлайн

#5 Сен. 10, 2011 08:14:16

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Цикл с постусловием и множественный выбор

pared
Сколько себя помню ненавидел Питон. когда в универе изучали, потом на работе пригодился… и сейчас тоже, но приходится изучать))
Мне с первого раза тоже он не понравился (наверно из за отступов вместо привычных мне “{ }” ), а сейчас считаю его лучшим языком…

Офлайн

#6 Авг. 16, 2012 15:42:33

asphix
Зарегистрирован: 2012-05-17
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

Цикл с постусловием и множественный выбор

можно ещё предусмотреть значение по-умолчанию и немного оптимизировать вызов :

def fsw(x,ca):
    return{
        1:lambda :x*2,
        2:lambda :x*15
    }.get(ca, lambda: "error")() 

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version