¿Es la forma correcta de usar match...case? [Python 3.10]

Iniciado por Yidu, 8 Diciembre 2021, 21:20 PM

0 Miembros y 1 Visitante están viendo este tema.

Yidu

Hola!

Estoy probando el match...case de la nueva versión de python 3.10. Y aunque se comporta según lo esperado (semejante a otros lenguajes), no se si esta sintaxis, en este caso que muestro es demasiado redundante:

Código (python) [Seleccionar]

numero = 90
match numero:
   case numero if numero > 110:
       print('El numero es mayor')
   case numero if numero < 100:
       print('Es menor')


En este caso el resultado que imprime es "Es menor". Es un ejemplo simple. Y en este caso, supongo, sería mejor usar los IFs de toda la vida. Es decir, sin el match. Me llama la atención que se tenga que indicar tantas veces la variable numero. Es decir, dos veces por cada case. O quizás no lo estoy haciendo correctamente y no se recomienda esta estructura en un código así.

Saludos!

ErahUnderground

Hola!

Por lo que yo sé, están implementando el "select case" de otros lenguajes, que al final se creó para realizar una lista de tareas y se adaptó usando en cada case un break para poder seleccionar "casos".

La sintaxis en sí, es redundante, pero porque en tu ejemplo estás seleccionando un intervalo.

Código (python) [Seleccionar]

option = 3

match option:
\tcase 1:
\t\t#code option1
\t\t break
\tcase 2:
\t\t #code option2
\t\ break
\tcase 3:
\t\tprint("Cerrando")
\t\texit(0)


No sé si así se entiende mejor :)
PD: No sé meter las tabulaciones jeje

Un saludo!