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”.
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”.

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:
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:
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:
nome = ""
if nome:
print("Nome preenchido")
else:
print("Nome vazio")
nome = "abc"
if nome:
print("Nome preenchido")
else:
print("Nome vazio")
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.
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”.

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.
nome = "Lira"
if nome in ["João", "Paulo", "Marcus"]:
print("Acesso Liberado")
else:
print("Acesso Negado")
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!


