1
resposta

[Dúvida] math vs if.

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!

1 resposta

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! 💻