Una de las respuestas a this question es¿por qué se usa la construcción x = (Condición y A o B)?
print len(s)>5 and 'y' or 'n'
print(len(s)>5 and 'y' or 'n') #python3
si la longitud de s > 5
, a continuación, se imprime 'y'
lo contrario es 'n'
. Por favor explique cómo/por qué esto funciona. Gracias.
Entiendo que este no es un enfoque recomendado, pero me gustaría entender por qué funciona.
lol - mi respuesta de 0 puntos tiene una pregunta propia, ¡y estoy demasiado tarde para explicarlo! ;-) pero buen comentario ;-) –
Puede valer la pena completar el otro "truco" antes de la sintaxis 'if ... else', que solía ser' print {False: 'n', True: 'y' } (len (s)> 5) '(o incluso simplemente' {0: 'n', 1: 'y'} ') –
Meh, no hay" completitud "de hacks inútiles. ¿Qué pasa con ''ny '[len (s)> 5]'? Las formas de abusar del lenguaje son infinitas. –