@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
для выполнения различных случаев.