typestar

Coincidencia estructural de patrones en Python

match/case: ramificar según la forma de los datos, no solo su valor.

def describir(comando):
    match comando.split():
        case ["ir", direccion]:
            return f"caminas hacia {direccion}"
        case ["mirar"]:
            return "ves una pared de código"
        case ["tomar", *elementos]:
            return f"recogiste {len(elementos)} elementos"
        case _:
            return "comando desconocido"


print(describir("ir norte"))
print(describir("tomar espada escudo"))

Cómo funciona

  1. Cada case intenta encajar la lista del comando dividido.
  2. Los patrones capturan partes en nombres como direccion.
  3. *elementos coincide con una cola de longitud variable.
  4. case _ es el comodín final.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
14
Caracteres a escribir
338
Tokens
88
Ritmo de tres estrellas
90 tpm

Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 59 segundos.

Escribe este fragmento

Paso 4 de 7 en Control de flujo; paso 19 de 72 en Fundamentos del lenguaje.

← Anterior Siguiente →