[Python-es] como anidando condicionales and or independientes?

Chema Cortes pych3m4 en gmail.com
Mie Abr 3 21:41:30 CEST 2013


El 3 de abril de 2013 16:03, Diego Uribe Gamez
<diego.uribe.gamez en gmail.com> escribió:
>
> bueno, entiendo que no me explique bien, la cosa es que hay dos entradas al if, una es "a == 11 and b == 5" y la otra es "c == 3 or x == 8" donde segun entiendo se puede hacer así:
>
> if (a == 11 and b == 5) or c ==3 or x == 8:
>
> gracias por los comentarios,  y saludos.

Y si estás pensando en tener muchos elementos a comparar, puedes
aprovechar las funciones all() y any() para hacer algo así de
funcional:

  if any( all(a==11, b==5), c==3, x==6):

o más compacto;

  if any( ( (a,b)==(11,5), c==3, x==8 ) ):

Con un poco de práctica, se lee mejor que una larga serie de or's y and's



--
Hyperreals *R: http://ch3m4.org/blog
Quarks, bits y otras criaturas infinitesimales


Más información sobre la lista de distribución Python-es