Como substituir a instrução switch com um dicionário em Python

A maioria das linguagens de programação (Python excluídos), fornecer algum tipo de instrução switch. A instrução switch prevê seleções de tipo de menu elegantes. O usuário tem uma série de opções, mas é permitido escolher apenas um deles. O programa leva algum curso de ação com base na seleção do usuário. Aqui está um código representativo (ele não vai executar) de um interruptor

declaração que você pode encontrar em outro idioma:

switch (n) {case 0: print ( "Você selecionou azul.") - break-case 1: print ( ". Você selecionou amarelo") - break-case 2: print ( "Você selecionou verde".) - break- }

A aplicação normalmente apresenta uma interface do tipo de menu, obtém o número da seleção do usuário e, em seguida, escolhe o curso correto de ação a partir do interruptor declaração. É mais puro e muito mais fácil do que utilizando uma série de E se instruções para realizar a mesma tarefa.

Infelizmente, Python não vem com uma instrução switch. O melhor que você pode esperar fazer é usar um if ... elif declaração para a tarefa. No entanto, usando um dicionário, você pode simular o uso de uma instrução switch. Os passos seguintes ajudá-lo a criar um exemplo que irá demonstrar a técnica necessária.

1

Abra uma janela do Python Arquivo.

Você vê um editor no qual você pode digitar o código de exemplo.

2

Digite o seguinte código para a janela - pressione ENTER após cada linha:

def PrintBlue (): print ( "Você escolheu azul r n!") def PrintRed (): print ( "Você escolheu o vermelho r n") def PrintOrange (): print ( "Você escolheu laranja r n ") def PrintYellow (): print (" Você escolheu amarelo r n ")!

Antes de o código pode fazer nada por você, você deve definir as tarefas. Cada uma dessas funções define uma tarefa associada com a seleção de uma tela opção de cor. Apenas um deles é chamado a qualquer momento.

3

Digite o seguinte código para a janela - pressione ENTER após cada linha:

ColorSelect = {0: PrintBlue, 1: PrintRed, 2: PrintOrange, 3: PrintYellow}

Este código é a dicionário. Cada chave é como a parte caso da instrução switch. Os valores especificam o que fazer. Em outras palavras, esta é a estrutura do comutador. As funções que você criou anteriormente são a parte da ação do interruptor - a parte que vai entre a exposição do caso ea cláusula de rescisão.

4

Digite o seguinte código para a janela - pressione ENTER após cada linha:

Seleção = 0while (selecção = 4!): Print ( "0 Azul.") Print ( "1 Red.") Print ( "2 Orange.") Print ( "3 Amarelo.") Print ( "4 Sair".) seleção = int (input ( "Selecione uma opção de cor:")) if (seleção> = 0) e (selecção lt; 4): ColorSelect [Seleção] ()

Finalmente, você ver a parte de interface com o usuário do exemplo. O código começa criando uma variável de entrada, Seleção. Em seguida, ele entra em um loop até que o usuário insere um valor de 4.

Durante cada ciclo, o aplicativo exibe uma lista de opções e, em seguida, aguarda a entrada do usuário. Quando o usuário não fornecer dados, o aplicativo executa uma verificação de intervalo nele. Qualquer valor entre 0 e 3 selecciona uma das funções anteriormente definidas utilizando o dicionário como o mecanismo de comutação.

5

Escolha Run-Run Module.

Você verá uma janela aberta Python Shell. O aplicativo exibe um menu.

6

Tipo 0 e pressione Enter.

A aplicação diz-lhe que você selecionou azul e, em seguida, exibe o menu novamente.

7

Tipo 4 e pressione Enter.

A aplicação termina.

menu