Alguém poderia me dar uma situação, onde o if se encaixa mais que o math e uma em que o math seja melhor que o if, só para ter mais clareza sobre quando usar um ou outro, desde já muito obrigado!
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Alguém poderia me dar uma situação, onde o if se encaixa mais que o math e uma em que o math seja melhor que o if, só para ter mais clareza sobre quando usar um ou outro, desde já muito obrigado!
Oi Luca,
Excelente pergunta! 👍
A escolha entre match e if depende muito do problema que você está tentando resolver.
Quando usar if:
O if é mais apropriado quando tem condições lógicas complexas que envolvem múltiplos operadores (AND, OR) e se precisa verificar intervalos de valores ou fazer comparações matemáticas.
def verificar_idade_categoria(idade, possui_responsavel):
if idade < 18 and not possui_responsavel:
return "Precisa de autorização"
elif idade >= 18 or possui_responsavel:
return "Autorizado"
else:
return "Não autorizado"
Quando usar math:
O match é mais adequado quando se precisa comparar uma única variável com múltiplos valores específicos e se tem um conjunto finito de possibilidades bem definidas 💪
def verificar_dia_semana(dia):
match dia:
case 1:
return "Domingo"
case 2:
return "Segunda"
case 3:
return "Terça"
case 4:
return "Quarta"
case 5:
return "Quinta"
case 6:
return "Sexta"
case 7:
return "Sábado"
case _:
return "Dia inválido"
O match oferece maior legibilidade e manutenção do código quando lidamos com múltiplos casos específicos, enquanto o if é mais versátil para lógicas condicionais complexas. 🤔
Para saber mais: Controle de fluxo no Python.
Continue explorando e praticando! 💻