Minimal VI: Operador ternário

Confira os princípios do código minimalista na introdução ao primeiro desafio.

Na aba Código, você encontrará um código ao qual falta um único caractere para passar nos testes. No entanto, seu objetivo é enviar uma função o mais minimalista possível. Use as dicas na seção de dicas abaixo.

Escreva uma função que retorne as strings:

  • "both" se os dois booleanos fornecidos a e b forem True.
  • "first" se apenas a for True.
  • "second" se apenas b for True.
  • "neither" se a e b forem False.

Dicas

As instruções if-else podem ser escritas em uma única linha usando o operador ternário do Python.

Por exemplo, o código:

def startswith(name):
  if name[0] in "AEIOU":
    return "vowel"
  else:
    return "consonant"

Pode ser simplificado para:

def startswith(name):
  return "vowel" if name[0] in "AEIOU" else "consonant"

Bônus

Você pode concatenar quantos operadores ternários quiser. No entanto, concatenar operadores demais definitivamente diminuirá a legibilidade do seu código.

"majority" if  x > 50 else "minority" if x < 50 else "draw"

Observações

  • Esta é uma série aberta: não existe uma lista definitiva de recursos para os desafios. Não hesite em deixar suas sugestões nos Comentários.
  • Legibilidade é, de fato, um conceito subjetivo. Vamos discutir isso! Sinta-se à vontade para deixar sua opinião nos Comentários.
  • Você pode encontrar todos os exercícios desta série aqui.