Mais operadores para turbinar seu IF no Python

Desenvolvedor segurando duas placas indicando comparações. Na mão direita a placa diz 'Está calor?', na mão esquerda a placa diz 'Esse produto é mais caro?'

E aí, pessoal!

Na última postagem, vocês aprenderam a usar as estruturas de decisão para fazer seu código tomar decisões. Agora, vamos turbinar essa capacidade de decisão com algo super importante: os Operadores de Comparação e Lógicos.

Pensa em uma decisão que você toma todo dia, como o que vestir. Para escolher uma roupa, você pode se fazer algumas perguntas:

  • Está frio?
  • Está calor?
  • Está chovendo e ventando?

Para o computador, é a mesma coisa. Ele precisa de ferramentas para fazer essas “perguntas”. E é aí que entram nossos operadores.

Operadores de Comparação: Fazendo Perguntas Sobre Valores

Os operadores de comparação comparam dois valores e respondem com Verdadeiro ou Falso (True ou False).

Imagine que você está no mercado e quer comparar o preço de dois produtos. Podemos utilizar os operadores abaixo:

SímboloNomeExemploExplicação
==Igual aidade == 18A idade é exatamente 18?
!=Diferente decor != ‘verde’A cor não é verde?
>Maior quepreco > 10.50O preço é maior que R$ 10,50?
<Menor quealtura < 1.70A altura é menor que 1,70m ?
>=Maior ou igual anota >= 7.0A nota é 7.0 ou maior?
<=Menor ou igual adesconto <= 20O desconto é 20% ou menor?

Quando usamos esses operadores dentro de um if, o código executa o bloco de comandos somente se a comparação for True.

Exemplo:

idade = 17

if idade >= 18:
    print('Você já pode tirar sua carteira de motorista.')
else:
    print('Você ainda não tem idade para tirar a carteira de motorista.')

Nesse caso, a condição idade >= 18 retorna False, então o código executa o bloco do else.

Operadores Lógicos: Juntando Várias Condições

Agora, vamos complicar um pouco e fazer perguntas mais elaboradas. E se você quiser verificar duas ou mais coisas ao mesmo tempo? É aí que os operadores lógicos entram em ação. Eles servem para combinar várias comparações.

Pense em um aplicativo de filmes que recomenda filmes para você. Para sugerir um filme, o sistema pode verificar se o filme é de ação E se o gênero é ficção científica. Esse E da comparação é representado no python por and. Abaixo temos uma tabela com os operadores lógicos possíveis no python:

SímboloNomeExemploExplicação
andEidade > 18 and tem_cnh == TrueVerdadeiro se as duas condições forem verdadeiras.
orOufim_de_semana == True or feriado == TrueVerdadeiro se pelo menos uma das condições for verdadeira.
notNãonot tem_dinheiroInverte o resultado da condição. Se tem_dinheiro for True, not tem_dinheiro será False.

Exemplo:

tem_dinheiro = True
tem_ingresso = False

if tem_dinheiro and tem_ingresso:
    print('Pode entrar no cinema!')
else:
    print('Você precisa de dinheiro e de um ingresso para entrar.')

Aqui, o programa só permite a entrada se as duas condições forem True. Como tem_ingresso é False, a condição completa também é False.

Ordem de Precedência: Quem Manda na Condição?

Lembra da matemática? A gente aprende que primeiro resolve a multiplicação e a divisão, depois a soma e a subtração, certo? Isso se chama ordem de precedência e assim como na matemática na programação o computador tem uma ordem para executar as comparações de acordo com os operadores. A ordem é a seguinte:

  1. Primeiro ele resolve todas as operações de comparação (==, !=, <, >, <=, >=).
  2. Depois ele resolve os operadores lógicos, seguindo esta ordem:
    • not (o mais importante)
    • and
    • or (o menos importante)

Vamos a um exemplo para entender como isso funciona na prática.

Imagine que você está no cinema e só ganha desconto se tiver mais de 60 anos OU se for estudante E tiver a carteirinha.

idade = 65
eh_estudante = True
tem_carteirinha = False

if idade > 60 or eh_estudante and tem_carteirinha:
    print('Você tem direito ao desconto!')
else:
    print('Você não tem direito ao desconto.')

Nesse caso, a condição eh_estudante and tem_carteirinha é resolvida primeiro. Como tem_carteirinha é False, a condição completa do and também é False. Depois, o Python resolve a condição idade > 60 or False. Como idade > 60 é True, o resultado final do or é True, e a mensagem de desconto é exibida.

Dica de mestre: Se você ficar na dúvida sobre a ordem, use sempre os parênteses () para deixar sua intenção clara. Eles forçam o Python a resolver aquela parte primeiro e tornam seu código muito mais fácil de ler.

Conclusão

E por hoje é isso, pessoal! Agora vocês têm o poder de criar condições muito mais complexas e detalhadas, o que vai deixar seus programas muito mais espertos. Na próxima postagem, vamos falar sobre como repetir ações sem ter que escrever a mesma coisa várias vezes. Até a próxima!

Quer dar o próximo passo e construir projetos práticos com Python? Se sim, temos uma recomendação perfeita para você.

Indicamos este livro que ensina Python com uma abordagem totalmente focada em projetos. É a maneira ideal de realmente fixar o conteúdo enquanto você cria algo útil. Além de aprofundar suas habilidades e ter projetos para o seu portfólio, a sua compra através do nosso link de afiliado nos ajuda a manter o blog e a criar ainda mais conteúdo de qualidade.

“Curso Intensivo de Python: uma Introdução Prática e Baseada em Projetos à Programação”: https://amzn.to/3HWfwfq

Rolar para cima