Trotero · Laboratorio Python

Practica match / case tomando decisiones con valores concretos

Ocho problemas para utilizar case _, trabajar con números y texto y aprender a elegir cuándo conviene match y cuándo if.

Python se cargará al ejecutar el primer ejercicio
Si una ejecución queda bloqueada, el laboratorio la detiene.
1

La caja negra de un dron

Obligatorio · match básico

Un dron educativo guarda un código al terminar el vuelo:

  • 0 → Vuelo finalizado correctamente
  • 1 → Batería agotada
  • 2 → Pérdida de señal
  • 3 → Aterrizaje de emergencia

Pide el código registrado y muestra el mensaje correspondiente. Cualquier otro valor debe producir Código de vuelo desconocido.

Condiciones: usa match / case, convierte la entrada al tipo adecuado y utiliza case _.

Tu códigoPython
ConsolaPreparada
La salida aparecerá aquí.
Una misma variable puede contener varios códigos concretos: es el caso más directo para empezar con match.
2

¿Qué está diciendo el robot?

Obligatorio · cadenas

Un robot recibe las órdenes avanza, retrocede, izquierda, derecha y para.

Pide una orden y responde con la acción correspondiente. Para cualquier otra palabra, muestra Comando no reconocido.

Reto: no conviertas el input() a entero. Los propios textos serán los valores de los case.

Tu códigoPython
ConsolaPreparada
La salida aparecerá aquí.
Los case pueden coincidir directamente con cadenas de texto.
3

Mensaje recibido desde Marte

Refuerzo · opcional

Una estación recibe PING, DATA, PHOTO, ERROR o SLEEP.

  • PING → Sonda operativa
  • DATA → Recibiendo telemetría
  • PHOTO → Descargando imagen
  • ERROR → La sonda comunica una avería
  • SLEEP → Sonda en modo de bajo consumo

Cualquier otro mensaje será desconocido.

Antes de programar: escribe un comentario explicando por qué match resulta natural aquí.

Tu códigoPython
ConsolaPreparada
La salida aparecerá aquí.
La explicación debe señalar que una misma variable se compara con varios valores concretos.
4

El ascensor imposible

Obligatorio · tipos

Destinos: -1 laboratorio subterráneo, 0 acceso, 1 taller de electrónica, 2 laboratorio de redes y 3 azotea de comunicaciones.

Pide ¿A qué planta quieres ir? y muestra el destino. Si no existe, muestra Esa planta no existe.

Trampa deliberada: prueba primero con planta = input(...) y casos numéricos como case 2:. Después corrígelo y explica en un comentario por qué fallaba.

Tu códigoPython
ConsolaPreparada
La salida aparecerá aquí.
input() devuelve texto: "2" no coincide con el número 2.
5

El taller del futuro

Refuerzo · opcional

Muestra un terminal con cinco operaciones: consultar estado, reiniciar controlador, ejecutar diagnóstico, calibrar sensores y apagar sistema.

Cada opción debe producir al menos dos mensajes razonables. Para cualquier otro número, muestra Operación no disponible.

No vale limitarse a imprimir «Opción 1», «Opción 2»...

Tu códigoPython
ConsolaPreparada
La salida aparecerá aquí.
Un case puede contener varias instrucciones.
6

El detector de protocolo

Obligatorio · valores concretos

Identifica estos puertos: 22 SSH, 53 DNS, 80 HTTP, 443 HTTPS, 1883 MQTT y 8883 MQTT seguro.

Pide el puerto y muestra el servicio y una breve descripción. Para cualquier otro, muestra Puerto no incluido en nuestra base de datos.

Razonamiento: ¿serviría if puerto > 1000 para obtener la misma información? Explica por qué no.

Tu códigoPython
ConsolaPreparada
La salida aparecerá aquí.
Necesitamos distinguir valores concretos; un rango agruparía puertos diferentes.
7

¿if o match?

Obligatorio · elegir estructura

Decide si usarías if / elif / else o match / case para: batería por debajo del 20 %, comandos start/stop/reset, temperatura superior a 80 °C, códigos 0-3, edad entre 18 y 65, modos manual/auto/mantenimiento, poca batería o temperatura elevada y estados online/offline/error.

Justifica cada elección en una frase. Después programa solo los dos últimos casos.

Tu códigoPython
ConsolaPreparada
La salida aparecerá aquí.
Condiciones, rangos y lógica → if; varios valores concretos de una misma variable → match.
8

Central de control de una nave

Obligatorio · práctica final

La nave recibe NAV, SCAN, PHOTO, SEND, RETURN o SLEEP.

Pide el código, utiliza match / case y muestra dos líneas: descripción de la operación y qué ocurre.

Los códigos desconocidos deben mostrar Código desconocido y No se ejecutará ninguna operación.

Antes de ejecutar: predice en comentarios qué ocurrirá con PHOTO, SLEEP, RESET y RETURN.

Ampliación opcional: inventa un nuevo código.

Tu códigoPython
ConsolaPreparada
La salida aparecerá aquí.
La práctica final reúne entrada de texto, varios casos, case _, varias instrucciones y predicción del flujo.
Copiado