IF com Múltiplas Condições no Python – Não caia nesse erro!

Entenda como usar corretamente o IF com múltiplas condições no Python e evite cair em um resultado que você não espera!

Resposta rápida: no Python cada condição do if precisa ser escrita por inteiro. if idade == 18 or 19: não faz o que parece, porque o Python avalia 19 sozinho e ele é sempre verdadeiro. O certo é repetir a variável em cada lado, if idade == 18 or idade == 19:, ou usar if idade in (18, 19):, que é mais curto.

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

IF com Múltiplas Condições no Python – Não caia nesse erro!

Na aula de hoje eu quero te explicar como usar o IF com múltiplas condições no Python de forma correta e evitar cair em erros ou ter resultados inesperados em seu código.

Quando trabalhamos com condicionais no Python e queremos fazer comparações dentro dela para verificar as informações, precisamos fazer isso de forma correta. Uma sintaxe errada ou uma declaração incorreta podem levar a resultados que você não desejava.

Para esclarecer tudo sobre como usar o IF com múltiplas condições no Python, preparei esta aula com exemplos práticos para que você possa entender de vez como utilizá-lo corretamente em seus códigos. Então, faça o download do material disponível e vem comigo!

Entendendo o Erro – Resultados Inesperados

Para iniciarmos esta aula, observe o código abaixo e pense em qual dos resultados você espera que ele imprima na tela: “Acesso Liberado” ou “Acesso Negado”.

Codigo
nome = "Lira"

if nome == "João" or "Paulo" or "Marcus":
    print("Acesso Liberado")
else:
    print("Acesso Negado")

Se executarmos este código, obteremos como resultado a mensagem “Acesso Liberado”.

Executando o código

Se você pensou que o resultado deveria ser “Acesso Negado”, não se preocupe; esse é um erro muito comum, e eu vou te explicar o porquê esse código não funciona como você estava esperando.

À primeira vista, parece que estamos comparando se a variável nome é igual a João, ou igual a Paulo ou igual a Marcus. No entanto, não é isso que está acontecendo.

Na prática, o código verifica se a variável nome é igual a João, ou se a string “Paulo” é verdadeira, ou se a string “Marcus” é verdadeira. É como se fosse escrito da seguinte forma:

Ícone PythonPython Impressionador

Você vai aprender a linguagem de Programação que mais cresce no Mundo para fazer automações incríveis, desenvolver sites, fazer análises de dados, trabalhar com Ciência de Dados, Inteligência Artificial, mesmo que você nunca tenha tido nenhum contato com Programação na vida.

Começar agoraSeta para a direita
Fundo PythonTelas Python
Luz Python
Codigo
nome = "Lira"

if (nome == "João") or "Paulo" or "Marcus":
    print("Acesso Liberado")
else:
    print("Acesso Negado")

Em Python, toda string não vazia retorna True em um contexto booleano. Dessa forma, as condições “Paulo” e “Marcus” sempre serão consideradas verdadeiras e passarão pela avaliação.

Por isso, obtemos como resultado a mensagem “Acesso Liberado”. Para ter a mensagem “Acesso Negado”, todas as condições precisariam ser falsas.

Por esse motivo, ao construir uma estrutura condicional em Python (e em outras linguagens de programação), precisamos ter cuidado com a forma como declaramos as condições a serem avaliadas dentro dela.

Entendendo as Condições no Python

As condições em Python são usadas para tomada de decisões.

Se a condição principal avaliada for verdadeira (True), o bloco de código associado ao if é executado. Caso contrário, ou seja, se a condição for falsa (False), o código passará para a próxima condição a ser avaliada, se houver. E, por fim, se nenhuma condição retornar verdadeira, o bloco de código associado ao else é executado.

Isso ocorre porque ao passarmos apenas um texto como condição, o Python sempre considerará como verdadeiro caso o texto esteja preenchido.

Então, no nosso código, é como se o Python interpretasse a avaliação dessa forma:

Codigo
nome = "Lira"

if (nome == "João") or True or True:
    print("Acesso Liberado")
else:
    print("Acesso Negado")

Já quando uma variável é avaliada em uma condição e está vazia (texto vazio, lista vazia ou tenha o valor de None), ela é considerada False (falsa). Vamos verificar com esse segundo exemplo:

Codigo
nome = ""

if nome:
    print("Nome preenchido")
else:
    print("Nome vazio")

Resultado com string vazia
Codigo
nome = "abc"

if nome:
    print("Nome preenchido")
else:
    print("Nome vazio")
Resultado com string preenchida

Observe que no primeiro caso, quando a variável nome era um texto vazio, ela foi considerada false e executou o print dentro do else.

No segundo caso, com o texto preenchido, a variável foi considerada verdadeira e o código executou o print associado ao if.

Formas Corretas de Declarar as Condições

Para obter o resultado esperado, teríamos de declarar essas condições de outras formas. E temos algumas maneiras de fazer isso da forma correta.

A primeira delas, mas que acaba sendo redundante, seria repetindo a verificação individualmente para cada nome.

Codigo
nome = "Lira"

if nome == "João" or nome == "Paulo" or nome == "Marcus":
    print("Acesso Liberado")
else:
    print("Acesso Negado")

Nesse caso, teremos como resposta a mensagem de “Acesso Negado”.

Resultado com declaração correta

Porém, uma forma mais concisa e otimizada de escrever e avaliar essas condições seria colocar os nomes dentro de uma lista e verificar se a variável nome está nessa lista.

Codigo
nome = "Lira"

if nome in ["João", "Paulo", "Marcus"]:
    print("Acesso Liberado")
else:
    print("Acesso Negado")
Resultado com a declaração correta em listas

Conclusão – IF com Múltiplas Condições no Python – Não caia nesse erro!

Na aula de hoje, você aprendeu a usar o IF com múltiplas condições no Python de forma eficiente, evitando erros comuns que podem surgir.

Exploramos como o Python trata variáveis e textos preenchidos ou vazios, além de entender como as condições são avaliadas e como escrevê-las corretamente.

Agora, você está apto a criar expressões condicionais em Python de maneira clara e sem ambiguidades, garantindo que suas comparações sejam feitas de forma precisa.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?