Executando verificação de segurança...
0

Se fosse um if convencional, funcionaria perfeitamente sem o else, mas esse tipo de expressão pythonic equivale ao operador ternário return input(question) == "y" ? true : false em linguagens baseadas em C, tais como C++, Java, Javascript, Typescript, entre outras.

Pode testar: se você retirar o else False provocará um erro do tipo SyntaxError: expected 'else' after 'if' expression.

Em relação à não detecção do caractere "n", partimos do "princípio da boa fé", ou seja, de que o usuário só digitaria "y" ou "n", e não outros caracteres diferentes, ou dígitos, e nem especiais CTRL + C, por exemplo, que precisariam de um tratamento adequado.

Em plataformas de desafios de programação (Topcoder, HackerRank, Leetcode, entre outras), esse princípio da boa fé se aplica. Quando um problema enuncia que as entradas são "y" ou "n", não é necessário se preocupar com outro valor.

Contudo, concordo que na vida real, fora de ambientes de testes, temos que estar preparados para tratar e testar todos os erros possíveis.

Carregando publicação patrocinada...