Оператор switch в Python Python 16.04.2009

python-switch.gif Поработав с Python обнаружил, что в нем отсутствует оператор switch-case, который местами бывает очень даже нужный и востребованный.

Для замены предлагают использовать множественные if-then-else или словари

Вариант со словарями:

def switch_case(case):
return "You entered " + {
'1' : "one",
'2' : "two",
'3' : "three"
}.get(case, "an out of range number")

num = raw_input("Input a number between 1 and 3: ")
print switch_case(num)

Или пример получения значения взятый с Switch statements in Python:

result = {
'a': lambda x: x * 5,
'b': lambda x: x + 7,
'c': lambda x: x - 2
}[value](x)

Еще способы реализации switch-case в Python:

Цитата
Все ошибаются, по-этому даже на карандашах есть ластик.
Лени из Симпсонов
Категории
Архив