@ludie
На Python существует конструкция выбора case под названием switch, но она не является частью стандартного языка Python и не рекомендуется к использованию в большинстве случаев. Однако можно использовать следующий способ для реализации конструкции switch:
1 2 3 4 5 6 |
def switch_case(case, x): return { 'case1': func1, 'case2': func2, 'case3': func3 }.get(case, default_func)(x) |
Здесь switch_case принимает два аргумента: case - строку, соответствующую случаю, и x - значение, для которого нужно выполнить операцию.
Внутри switch_case создается словарь, содержащий соответствующие функции для каждого случая. Затем, используя метод .get(), выбирается нужная функция и выполняется с аргументом x. Если соответствующего ключа case в словаре нет, вызывается функция default_func.
Замените 'case1': func1, 'case2': func2, 'case3': func3 на свои значения, где func1, func2, func3 - функции, которые нужно выполнить для каждого случая, а default_func - функция по умолчанию для случаев, которые не определены в словаре.
@ludie
Вот пример с использованием функций для каждого случая:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
def func1(x):
return x + 1
def func2(x):
return x * 2
def func3(x):
return x ** 2
def default_func(x):
return "Invalid case"
def switch_case(case, x):
return {
'case1': func1,
'case2': func2,
'case3': func3
}.get(case, default_func)(x)
# Пример использования
result1 = switch_case('case1', 3) # Вернет 4
result2 = switch_case('case2', 5) # Вернет 10
result3 = switch_case('case3', 4) # Вернет 16
result4 = switch_case('case4', 3) # Вернет "Invalid case"
|
Здесь func1, func2 и func3 представляют функции, которые будут выполнены для каждого случая. default_func - это функция по умолчанию, которая будет вызвана, если case не соответствует ни одному из значений в словаре. В примере показано, как использовать switch_case для выполнения различных случаев.