Agora vamos estudar outra instrução, a ELSE, que é usada com a IF e deixa nossos testes cada vez mais poderosos.
IF e ELSE em Python
Relembrando o último tutorial de nosso Curso de Python, a estrutura de um teste condicional IF tem a seguinte forma:if [condition]: [codigo] # Se a condição for verdadeira [codigo] # o codigo indentado abaixo do if [codigo] # será executado
Ou seja, se a condição [condition] for verdadeira, o código abaixo do IF, que está indentado, será executado.
Se a condição for falsa, todo esse bloco do IF é pulado e nada dessas linhas é executado.
Em outras palavras, se a condição for TRUE, o código é executado.
E é aí que entra a instrução ELSE, ela vai ficar sempre abaixo do seu IF, alinhada, e abaixo do ELSE (e indentado) teremos um outro código, que só será executado se a condição testada for FALSE.
Veja a estrutura de uma teste condicional IF ELSE:
if True: [codigo] # Se a condição for verdadeira [codigo] # o codigo indentado abaixo do if [codigo] # será executado else: [codigo] # Este bloco de código só funciona [codigo] # se a condição for falsa
Vamos ver dois exemplos.
Abra seu IDLE e teste os códigos, veja os resultados você mesmo.
Exemplo de IF e ELSE:
Em programação, o número 1 é sinônimo de verdadeiro e o 0 é sinônimo de falso. Ou seja, 1 é True e 0 é False.if 1: print("Oi, estou dentro do if") else: print("Eu nunca vou ser printado :( ")
O código acima vai sempre executar o IF, pois o número 1 retorna TRUE.
Lembre-se: ali depois IF é um teste, é uma condição, e testes sempre retornam verdadeiro ou falso.
Agora uma condição que retorna sempre falso:
if 0: print('Somente programadores podem ler isso') else: print('Oi mãe, to no ELSE')
Veja que o ELSE é que é executado desta vez.
Exemplo de IF e ELSE:
Escreva um código que exiba o nome de dois times, em seguida pergunta ao usuário qual deles é o melhor.Com a resposta em mãos, usando IF e ELSE, imprima na tela uma mensagem dizendo qual time ele torce.
Veja nosso código:
print('1. Corinthians') print('2. Flamengo') resposta = int (input('Qual melhor time: ') ) if resposta == 1: print('Você deve ser corinthiano') else: print('Você deve torcer Flamengo')
Perguntamos o time do usuário, e armazenamos na variável 'resposta'.
Em seguida, vamos fazer um teste com essa variável, na instrução IF.
Fizemos 'resposta == 1'.
Se o resultado desse teste for verdadeiro, cai no IF e falamos do Corinthians.
Se for falso, cai no ELSE e falamos do Flamengo.
Hackeando em Python
Uma das coisas que iremos te ensinar no decorrer de nosso curso, é hackear.Ou seja, achar brechas, problemas e falhas em códigos.
Vamos te apresentar duas, agora.
A primeira é simples, quando o nosso programa for pegar o dado de seu teclado, digite qualquer coisa que não seja um número, como uma letra e veja o que ocorre:
O erro aconteceu na função int(), que esperava receber um valor numérico e recebeu um caractere. Mais pra frente, vamos aprender como contornar isso, garantir que o dado que o usuário forneça seja o que realmente estamos desejando, senão isso pode dar brechas de seguranças em nossos programas e sistemas em Python.
O outro problema que encontramos é usando números mesmo.
Digite, por exemplo, o valor 3 ou qualquer outro que não seja 1 ou 2:
Opaaa! Pera lá!
Digitei 3 e apareceu que devo torcer Flamengo?
Por que apareceu isso?
Eu não torço nem dei a entender que queria isso como resposta, por que apareceu esta mensagem?
Você consegue identificar o motivo disso ocorrer?
No próximo tutorial de nosso módulo de Testes e Laços em Python, vamos explicar melhor isso e, claro, consertar essa falha.
else:
ResponderExcluirprint('Você deve torcer Flamengo'), ou seja, o código em "else" serve para qualquer outra coisa que o usuário for digitar além de "1".
... e que esteja contido no intervalo de números inteiros, no caso!
Excluirtry:
ResponderExcluirtime = int(input("Digite:\n"
"1 para Flamengo\n"
"2 para Corinthians"))
if (time == 1):
print("Você é flamenguista!")
elif (time == 2):
print("Você é corintiano!")
else:
print("Você não torce pra nenhum dos dois times!")
except ValueError:
print("O caractere digitado não é válido!")
E isso aí! Mais um dia, mais um bom conteúdo aprendido aqui.
ResponderExcluirprint('1. Corinthians')
ResponderExcluirprint('2. Flamengo')
print('3. Palmeiras')
resposta = int (input('\nQual melhor time: ') )
if resposta == 1:
print('Você deve ser corinthiano')
if resposta == 2:
print('Você deve torcer Flamengo')
else:
print ('Você deve torcer para o Guarani da capital, bi-rebaixado e sem mundial! KKKK')
Mas o Palmeiras tem Mundial. Vc q acha q não, já que o corintiano e o flamenguista ganha mais comprando juiz q jogando de verdade.
Excluirmuito bom os conteúdos
ResponderExcluir