echo ($a < $b ? 'a é menor' : 'a não é menor');Em Python, você pode fazer assim:
print 'a é menor' if a < b else 'a não é menor'Porém, eu recomendo que você faça o arroz-com-feijão, que fica muito mais simples de entender:
>>> if a < b: ... print 'a é menor' ... else: ... print 'a não é menor'
Lembre-se que simples é melhor do que complexo.
Oi Vinicius -- achoq ue escrever "O operdaor ternário em Python é diferente de outras linguagens" e não que "Python não tem o operador ternário".
ResponderExcluirAfinal, você mesmo mostra o operador ternário do Python.
Vinicius,
ResponderExcluirna verdade, Python tem dois operadores ternários. A forma mais nova, disponível a partir da versão 2.5 do Python [1], é a que voce mencionou:
print 'a é menor' if a < b else 'a não é menor'
No entanto, desde versões mais antigas é possível também fazer a seguinte forma, que também é bastante usada:
print (a < b) and 'a é menor' or 'a não é menor'
Se for utilizar esta forma, há de se tomar cuidado com os valores passados para a expressão no caso verdadeiro -- se o valor for considerado falso (ex.: uma string vazia), a expressão não vai retornar o valor esperado. Exemplo:
>>> print True and '' or 'é falso'
é falso
Esta forma é conhecida também como "python and or trick" [2].
[1] http://docs.python.org/whatsnew/2.5.html#pep-308-conditional-expressions
[2] http://diveintopython.org/power_of_introspection/and_or.html
JS, obrigado pela correção. Resolvi retirar a parte errada do post.
ResponderExcluirAugusto, boa observação.
Eu já conhecia essa forma anterior mas achei menos intuitiva e meio frágil, justamente por depender do and.
Ainda bem que saiu a forma nova. ;-)
Obrigado, pessoal.
um incentivo e tanto para quem está querendo aprender a programar e em python...
ResponderExcluirParabéns cara!