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 instrucción switch. Una sentencia switch prevé elegantes opciones de tipo de menú. El usuario tiene una serie 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 una cambiar declaración que podría encontrar en otro idioma:

interruptor (n) {case 0: print ("Seleccionó azul.") -break-caso 1: print ("Seleccionó amarilla.") -break-caso 2: print ("Ha seleccionado verde.")-descanso-}

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 cambiar declaración. Es más limpio sencillo y mucho más que el uso de una serie de Si declaraciones para llevar a cabo la misma tarea.

Por desgracia, Python no viene con una sentencia switch. Lo mejor que puede esperar hacer es usar una si ... 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 ayudan a crear un ejemplo que demostrar la técnica requerida.

1Abrir una ventana de Python Archivo

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

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

def PrintBlue (): print ("Usted eligió azul rn!") PrintRed def (): print ("Usted eligió roja rn!") Def PrintOrange (): print ("Usted eligió naranja! Rn") Def PrintYellow (): print ("Usted eligió amarilla rn!")

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

3Escriba 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.

Video: Menús con diccionarios en Python - Bytes

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

Selección = 0while (Selección = 4!): Print ("0. azul")impresión("1. Red")impresión("2. Naranja")impresión("3. amarillo")impresión("4. Cierre") Selección = int (de entrada ("Seleccionar una opción de color: ")) Si (Selección gt; = 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 creando una variable de entrada, Selección. A continuación, entra en un bucle hasta que el usuario introduce un valor de 4.

Durante cada bucle, 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.

445658.medium.jpg

5Seleccione Ejecutar → Módulo Run

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

Video: While y Ciclo For en Python | Tutorial #5 Python

445659.medium.jpg

6Tipo 0 y pulse Intro

La aplicación le indica que ha seleccionado azul y muestra el menú de nuevo.

Video: Tutorial Python 10: Sentencias condicionales

7Tipo 4 y pulse Intro

La aplicación termina.

Video: PYTHON: TUTORIAL 6 - DICCIONARIOS

Artículos Relacionados