Exemplos de comandos if, if else e if elif no Python

Semelhante a outras linguagens de programação, em Python, situações condicionais também são tratadas usando o comando if.

Neste tutorial, eu vou mostrar 9 condições com os seguintes exemplos:
  1. Exemplo de comando básico do if para números
  2. Operadores de comando if do Python
  3. Exemplo de comando básico do if para comparação de strings
  4. Vários comandos no bloco de condição if usando recúo
  5. Exemplo de comando if else
  6. Exemplo de comando if elif
  7. Exemplo de instrução if composta do Python
  8. AND, OR, NOT em Python
  9. Mensagens de erro do comando if no Python

Esta é a sintaxe da instrução if no Python.
if condição:
    ação
elif condição:
    ação
else:
    ação 
Os exemplos a seguir mostrarão como essa sintaxe deve ser usada corretamente

Exemplo de comando básico do if para números

O exemplo a seguir ilustra como usar o comando if em python quando estamos fazendo um teste condicional usando números.
dias = int(input("Quantos dias temos no mes de julho?: "))
if dias == 31:
  print("Correto!")
print("Obrigado!")
No exemplo acima:
  • 1ª linha: Aqui, estamos solicitando a entrada do usuário. A entrada será um inteiro, que será armazenado na variável dias.
  • 2ª linha: Este é o comando if, onde estamos comparando se o valor da variável dias é igual ao valor numérico 31. Os dois pontos no final fazem parte da sintaxe do comando if.
  • 3ª linha: Esta linha começa com dois espaços de recuo no início. Qualquer linha (uma ou mais) que segue a instrução if, que tem recuo semelhante no início, é considerada parte do bloco da instrução if. Neste exemplo, temos apenas uma linha após a instrução if, que é essa 3ª linha. Portanto, esta linha será executada quando a condição da instrução if for verdadeira. ou seja, se o valor da variável dias for igual a 31, esta 3ª linha será executada.
  • 4ª linha: Esta linha está fora do bloco da instrução if. Portanto, ela será executado se a instrução if for verdadeira ou falsa.
A seguir está a saída do exemplo acima, quando a condição da instrução if for verdadeira.
# python ifDias.py
Quantos dias temos no mes de julho?: 31
Correto!
Obrigado!
A seguir está a saída do exemplo acima, quando a condição da instrução if é falsa.
# python ifDias.py
Quantos dias temos no mes de julho?: 30
Obrigado!
Se você está começando em Python, eu tenho aqui um artigo que lhe dará uma excelente introdução às variáveis, strings e funções do Python

Operadores de comando if do Python

A seguir estão os vários operadores que você pode usar no comando if para verificações condicionais.

CondiçãoOperador
Maior que>
Maior ou igual>=
Menor que<
Menor ou igual<=
Igual a==
Diferente!=
Condição de objetois
Condição de objeto negada    is not

Exemplo de comando básico do if para comparação de strings

Semelhante ao exemplo anterior, também podemos usar o comando if do Python para comparação de strings, conforme mostrado no exemplo abaixo.
letras = raw_input("Quais as 2 letras que representam o Brasil na internet?: ")
if letras == 'br':
  print("Correto!")
print("Obrigado!")
No exemplo acima:
  • 1ª linha: Aqui estamos obtendo a entrada bruta do usuário e armazenando-a na variável letras como string.
  • 2ª linha: Neste comando if, estamos comparando se o valor da variável letras é igual à string 'br'. Observe que incluímos o valor da string estática entre aspas simples (não aspas duplas).
  • 3ª linha: Conforme explicado no exemplo anterior, esta linha será executada quando a condição do comando if for verdadeira, pois esta linha possui recuo com espaços no início.
  • 4ª linha: Será executada independentemente se a condição do comando if for verdadeira ou falsa.
A seguir está a saída do código de exemplo acima para ambas as condições if true e false.
# python ifBrasil.py
Quais as 2 letras que representam o Brasil na internet?: br
Correto!
Obrigado!

# python ifBrasil.py
Quais as 2 letras que representam o Brasil na internet?: bl
Obrigado!
Vários comandos no bloco de condição if usando recúo

No exemplo anterior, tínhamos apenas uma instrução a ser executada quando a condição if for verdadeira.

O exemplo a seguir mostra onde várias linhas serão executadas quando a condição if for verdadeira. Isso é feito fazendo a indentação adequada no início das instruções que precisam fazer parte do bloco de condição if, conforme mostrado abaixo.
letras = raw_input("Quais as 2 letras que representam o Brasil na internet?: ")
if letras == 'br':
  print("Correto!")
  print("Pais: Brasil")
  print("Capital: Brasilia")
print("Obrigado!")
No exemplo acima:
  • 1ª linha: Aqui estamos obtendo a entrada bruta do usuário e armazenando-a na variável letras como string.
  • 2ª linha: Neste comando if, estamos comparando se o valor da variável letras é igual à string 'br'.
  • 3ª linha – 5ª linha: Todas essas linhas têm recuo igual no início da declaração. Neste exemplo, todas essas 3 instruções de impressão têm 2 espaços no início. Portanto, essas instruções serão executadas se a condição if for verdadeira.
  • 6ª linha: Esta instrução de impressão não possui recuo semelhante aos comandos anteriores. Portanto, isso não faz parte do bloco de instrução if e será executada independentemente do comando if ser verdadeiro ou falso.
A seguir está a saída do exemplo acima, quando a condição da instrução if for verdadeira.

Aqui todas as 3 instruções de impressão que fazem parte do bloco de condição if são executadas.
# python ifBrasil.py
Quais as 2 letras que representam o Brasil na internet?: br
Correto!
Pais: Brasil
Capital: Brasilia
Obrigado!
A seguir está a saída do exemplo acima, quando a condição da instrução if é falsa.
# python ifBrasil.py
Quais as 2 letras que representam o Brasil na internet?: bl
Obrigado!
Exemplo de comando if else

O exemplo a seguir mostra como usar o comando if else em Python.
dias = int(input("Quantos dias temos no mes de julho?: "))
if dias == 31:
  print("Correto!")
else:
  print("Incorreto!")
print("Obrigado!")
No exemplo acima:
  • 1ª linha: Aqui, estamos solicitando a entrada do usuário. A entrada será um inteiro, que será armazenado na variável dias.
  • 2ª linha: Este é o comando if, onde estamos comparando se o valor da variável dias é igual ao valor numérico 31. Os dois pontos no final fazem parte da sintaxe do comando if, que deve ser fornecida.
  • 3ª linha: Esta linha começa com dois espaços de recuo no início. Qualquer linha que segue a instrução if, que tem recuo semelhante no início, é considerada parte da condição true do bloco da instrução if.
  • 4ª linha: Tem a palavra-chave else para este bloco if. Os dois pontos no final fazem parte da sintaxe do comando else, que deve ser fornecida.
  • 5ª linha: Esta linha começa com dois espaços de recuo no início. Qualquer linha que segue a instrução else, que tem recuo semelhante no início, é considerada parte da condição false do bloco de instruções if.
  • 6ª linha: Esta linha está fora do bloco da instrução if. Portanto, isso será executado se a instrução if for verdadeira ou falsa.
O exemplo a seguir também é semelhante ao exemplo acima, mas este if else usa a variável string para comparação.
letras = raw_input("Quais as 2 letras que representam o Brasil na internet?: ")
if letras == 'br':
  print("Correto!")
else:
  print("Incorreto!")
print("Obrigado!")
A seguir está a saída dos exemplos acima, quando a condição da instrução if é falsa. ou seja, o bloco else será executado aqui.
# python ifDias.py
Quantos dias temos no mes de julho?: 30
Incorreto!
Obrigado!

# python ifBrasil.py
Quais as 2 letras que representam o Brasil na internet?: bl
Incorreto!
Obrigado!
Exemplo de comando if elif

Em Python, if else if é tratado usando o formato if elif else.

O exemplo a seguir mostra como usar o comando if elif else em Python.
codigo = raw_input("Escreva um codigo de 2 letras estaduais que comece com a letra R: ")
if codigo == 'RN':
  print("RN e Rio Grande do Norte")
elif codigo == 'RO':
  print("RO e Rondonia")
elif codigo == 'RR':
  print("RR e Roraima")
elif codigo == 'RS':
  print("RS e Rio Grande do Sul")
else:
  print("Invalido. Digite um codigo de 2 letras estaduais que comece com a letra R: ")
print("Obrigado!")
No exemplo acima:
  • Quando a primeira condição if codigo == 'RN' falha, então ela vai para o próximo comando, ou seja, o elif.
  • Quando a condição elif code == 'CO' falha, então ela vai para o próximo comando elif code.
  • Quando a condição elif codigo == 'RO' falha, segue para o proximo elif, e se o proximo elif falhar, ela apenas executa o que estiver disponível como parte do bloco final else.
  • A qualquer momento em que a 1ª condição if se tornar verdadeira, ou qualquer uma das condições elif restantes se tornar verdadeira, ele executa a instrução que faz parte de seu bloco e para de verificar as outras condições.
  • Isso também significa que quando qualquer condição if ou condição elif se tornar verdadeira, a instrução que faz parte do bloco else não será executada.
  • Além disso, assim como no exemplo anterior, os dois pontos no final do comando if, elif, else fazem parte da sintaxe do Python, que deve ser especificada.
A seguir está a saída quando a primeira condição if se torna verdadeira.
# python ifBrasil.py
Escreva um codigo de 2 letras estaduais que comece com a letra R: RN
RN e Rio Grande do Norte
Obrigado!
A seguir está a saída quando a primeira condição elif se torna verdadeira.
# python ifBrasil.py
Escreva um codigo de 2 letras estaduais que comece com a letra R: RO
RO e Rondonia
Obrigado!
A seguir está a saída quando a última condição elif se torna verdadeira.
# python ifBrasil.py
Escreva um codigo de 2 letras estaduais que comece com a letra R: RS
RS e Rio Grande do Sul
Obrigado!
A seguir está a saída quando a condição if é falsa e todas as condições elif restantes também são falsas e o Python executa o bloco else.
# python ifBrasil.py
Escreva um codigo de 2 letras estaduais que comece com a letra R: BR
Invalido. Digite um codigo de 2 letras estaduais que comece com a letra R
Obrigado!
Exemplo de instrução if composta do Python

O exemplo a seguir mostra como você pode usar comandos condicionais compostos na instrução if.
a = int(input("Entre a: "))
b = int(input("Entre b: "))
c = int(input("Entre c: "))
if a < b < c: 
  print("Sucesso. a < b < c")
No exemplo acima:
  • O bloco de impressão será executado somente quando a condição if for verdadeira. Aqui, estamos usando uma expressão composta para a instrução if onde ela será verdadeira somente quando a for menor que b e b for menor que c.
A seguir está a saída quando a condição se torna verdadeira.
# python ifComposta.py
Entre a: 10
Entre b: 20
Entre c: 30
Sucesso. a < b < c
A seguir está a saída quando a condição se torna falsa.
# python ifComposta.py
Entre a: 10
Entre b: 10
Entre c: 20
AND, OR, NOT em Python

Você também pode usar os seguintes operadores nas expressões de comando if do Python.

Operador  Condição  Descrição
andx and yVerdadeiro somente quando x e y são verdadeiros
orx or yVerdadeiro quando x ou y é verdadeiro
notnot xVerdadeiro se x for falso. Falso se x for verdadeiro.

O exemplo a seguir mostra como podemos usar a palavra-chave "and" em uma condição if no Python.
x = int(input("Entre um numero > 10 e < 20: "))
if x > 10 and x < 20:
  print("Sucesso. x > 10 e x < 20")
else:
  print("Tente novamente!")
No exemplo acima:
  • A instrução if será verdadeira somente quando ambas as condições mencionadas na instrução if forem verdadeiras. ou seja, x deve ser maior que 10 e x também deve ser menor que 20 para que esta condição seja verdadeira. Então, basicamente, o valor de x deve estar entre 10 e 20.
A seguir está a saída quando a condição se torna verdadeira. ou seja, quando ambas as expressões mencionadas na instrução if são verdadeiras.
# python ifAnd.py
Entre um numero > 10 e < 20: 15
Sucesso. x > 10 e x < 20
A seguir está a saída quando a condição se torna falsa. ou seja, apenas uma das expressões mencionadas na instrução if é verdadeira. Assim, toda a declaração if se torna falsa.
# python ifAnd.py
Entre um numero > 10 e < 20: 5
Tente novamente!
Mensagens de erro do comando if no Python

A seguir estão algumas das mensagens de erro que você pode ver ao usar o comando if.

Esse erro IndentationError ocorre quando você não fornece o recuo adequado para a instrução que está seguindo o comando if.
# python ifErro.py
  File "ifErro.py", line 4
    print("Pais: Brasil")
                        ^
IndentationError: unindent does not match any outer indentation level
O seguinte SyntaxError acontece quando você não especifica os dois pontos: no final da instrução python if
# python ifDias.py
  File "ifDias.py", line 2
    if dias == 31
                ^
SyntaxError: invalid syntax
O mesmo SyntaxError acontecerá quando você especificar um operador inválido.

Neste exemplo, não há operador chamado -eq em Python. Portanto, o comando vai falhar com erro de sintaxe.

Você também receberá um erro de sintaxe semelhante ao especificar elseif em vez de elif.
# python ifDias.py
  File "ifDias.py", line 2
    if dias -eq 31:
                 ^
SyntaxError: invalid syntax
E então, você conseguiu entender e aprender os IF, ELIF e ELSE do Python? Deixa aí nos comentários se você tiver alguma dúvida, ou sugestão que eu prometo que respondo... VLW e até o próximo post!

Comentários

Postagens mais visitadas deste blog

Você sabe ler e escrever arquivos JSON com Python?

Você conhece o utilitário WGET do Linux