Cómo reemplazar la sentencia switch con un diccionario en Python

La mayoría de los lenguajes de programación (Python excluido), proporcionan algún tipo de sentencia switch. Una sentencia switch proporciona selecciones elegantes tipo menú. El usuario tiene un número de opciones, pero se le permite elegir sólo uno de ellos. El programa se toma algún curso de acción basado en la selección del usuario. Aquí hay un código representativo (no ejecutará) de un interruptor

declaración que puede encontrar en otro idioma:

interruptor (n) {case 0: print ("Usted seleccionó azul.") - romper caso 1: print (". Ha seleccionado amarilla") - romper caso 2: print ("Seleccionó verde.") - desglose }

La aplicación normalmente presenta una interfaz de tipo menú, obtiene el número de la selección por parte del usuario y, a continuación elige el curso correcto de acción de la interruptor comunicado. Es sencillo y mucho más limpio que el uso de una serie de si declaraciones para llevar a cabo la misma tarea.

Desafortunadamente, Python no viene con una sentencia switch. Lo mejor que puede esperar hacer es utilizar un if ... elif Declaración para la tarea. Sin embargo, mediante el uso de una diccionario, puede simular el uso de una sentencia switch. Los siguientes pasos le ayudarán a crear un ejemplo que demostrar la técnica requerida.

1

Abra una ventana de Python Archivo.

Usted ve un editor en el que puede escribir el código de ejemplo.

2

Escriba el siguiente código en la ventana - presione ENTRAR después de cada línea:

def PrintBlue (): print ("Usted eligió azul r n") def PrintRed (): print ("! Tú elegiste rojo r n") def PrintOrange (): print ("Usted eligió naranja r n ") def PrintYellow (): print (" Usted eligió amarilla r n ")!

Antes de que el código se puede hacer nada por usted, debe definir las tareas. Cada una de estas funciones define una tarea asociada con la selección de una opción de color en pantalla. Sólo uno de ellos es llamado en un momento dado.

3

Escriba el siguiente código en la ventana - presione ENTRAR después de cada línea:

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

Este código es el diccionario. Cada tecla es como la parte caso de la sentencia switch. Los valores especifican qué hacer. En otras palabras, esta es la estructura de conmutación. Las funciones que creó anteriormente son la parte de acción del interruptor - la parte que va entre la declaración del caso y de la cláusula de rescisión.

4

Escriba el siguiente código en la ventana - presione ENTRAR después de cada línea:

Selección = 0while (Selección = 4!): Print ("0 azul.") Print ("1 Red.") Print ("2 de Orange.") Print ("3 Amarillo.") Print ("4 Salir.") Selección = int (input ("Seleccione una opción de color:")) si (Selección> = 0) y (Selección lt; 4): ColorSelect [Selección] ()

Por último, se ve la parte de interfaz de usuario del ejemplo. El código comienza mediante la creación de una variable de entrada, Selección. A continuación, entra en un bucle hasta que el usuario introduce un valor de 4.

Durante cada ciclo, la aplicación muestra una lista de opciones y espera a la entrada del usuario. Cuando el usuario proporciona entrada, la aplicación realiza una comprobación de rango en él. Cualquier valor entre 0 y 3 selecciona una de las funciones definidas anteriormente usando el diccionario como el mecanismo de conmutación.

Cómo reemplazar la sentencia switch con un diccionario en Python
Cómo reemplazar la sentencia switch con un diccionario en Python Agrandar
5

Elija Módulo Run-Run.

Usted ve una ventana abierta Python Shell. La aplicación muestra un menú.

Cómo reemplazar la sentencia switch con un diccionario en Python
Cómo reemplazar la sentencia switch con un diccionario en Python Agrandar
6

Escriba 0 y pulse Intro.

La aplicación le dice que usted seleccionó azul y muestra el menú de nuevo.

7

Tipo 4 y pulse Intro.

La aplicación termina.




» » » » Cómo reemplazar la sentencia switch con un diccionario en Python