Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/01/2013, 08:27
tecafede
 
Fecha de Ingreso: noviembre-2012
Mensajes: 111
Antigüedad: 11 años, 6 meses
Puntos: 6
Switch-Case - Solución para múltiples IF

Buenas, vengo leyendo que Python no tiene el típico "EN CASO DE ...." el IF Case o Switch Case, como lo quieran llamar y que muchos programadores critican con dureza que Python carezca de una herramienta tan estándar en el mundo de la programación.

Ejemplo: http://bytebaker.com/2008/11/03/swit...ent-in-python/ hay un usuario que plantea un caso de IF CASE realmente difícil de resolver con Python.

Para un caso puntual lo resuelvo con simples IF:

de acuerdo una variable numérica activo el radio button correspondiente :

Código:
        #Selecciono el Radio Button activo de acuerdo al Usuario activo leído previamente
        if usuarioactivonumero == 1 : radio1.SetValue(1)
        if usuarioactivonumero == 2 : radio2.SetValue(1)
        if usuarioactivonumero == 3 : radio3.SetValue(1)
        if usuarioactivonumero == 4 : radio4.SetValue(1)
        if usuarioactivonumero == 5 : radio5.SetValue(1)
Pero si tuviera 50 posibilidades por ejemplo sería poco estético tener 50 líneas, aunque de última lo hago y se que funciona

Leí que se suele suplir el Switch Case por diccionarios o con funciones lambda...

supongo que en mi caso sería algo del estilo:

Código:
opciones = {1 : radio1.SetValue(1), 2 : radio2.SetValue(1), 3 : radio3.SetValue(1), 4 : radio4.SetValue(1), 5 : radio5.SetValue(1)}
lo que no me doy cuenta es de como llamar luego a la acción adecuada