Já estamos quase experts na arte dos testes condicionais, ou controle de fluxo...enfim, nesse treco de fazer teste, IF, ELSE e tal.
Agora, chegou nossa última lição no assunto: a instrução ELIF.
Ela não vai nos dar nenhuma informação nova não, pelo contrário, vem pra facilitar nossa vida!
Testes, Testes e Mais Testes
Uma das instruções, em computação, mais executadas, sem dúvidas é o teste condicional. Seja lá a linguagem que usou pra fazer um programa, está entupido de testes.Desde o momento que liga seu computador ou celular, milhões e milhões de testes condicionais ocorrem.
Clicou em um botão? Teste. Acontece isso.
Clicou em outro botão? Teste. Acontece aquilo.
Digitou certo a senha? Teste. Entra no e-mail.
Digitou errado a senha? Teste. Diz que tá errada.
O navegador que está usando para ler nossa apostila de Python online?
Tá cheeeeeeio de IF e ELSE.
Tá ouvindo música em algum aplicativo do celular?
Tá entupidaaaaaaço de IF e ELSE.
Pode parecer bobinhos os exemplos de Corinthians e Flamengo de nossos exemplos, mas quando for programador profissional, vai ver que vai continuar usando eles, e do mesmo jeito que aprendeu aqui no Python Progressivo.
Pois bem, se convenceu da importância deles?
IF e ELSE já moram no seu coração ?
Ok, vamos melhorar o uso deles, aprender a usar o ELIF.
Exercício de Python com (muitos) IF e ELSE
A seguir, temos a tabela dos melhores times de 2018, da CBF.Você deve criar um programa que pede 'Digite um número de 1 até 10', e de acordo com o número fornecido pelo usuário, indicar qual o time está naquela posição do ranking.
Por exemplo, a pessoa digita 1. O resultado é 'Palmeiras'.
Digitou 2, deve printar 'Cruzeiro' etc.
Resolução:
O código é bem simples, basta fazermos uma série de IF e ELSE, nosso código fica:
resposta=int(input('Que colocação no ranking deseja saber: ')) if resposta == 1: print('Palmeiras! Vai porco!') else: if resposta == 2: print('Cruzeiro') else: if resposta == 3: print('Grêmio') else: if resposta == 4: print('Santos') else: if resposta == 5: print('Atlético-MG! Vai galo!') else: if resposta == 6: print('Timão!') else: if resposta == 7: print('Mengo!') else: if resposta == 8: print('Botafogo') else: if resposta == 9: print('Atlétito-PR') else: if resposta == 10: print('Internacional') else: print('Só temos até o décimo!')
ELIF - O que é ? Como usar ?
Note uma coisa no código anterior: a medida que vamos indentando, ele vai indo pra direita...e vai indo...indo...vai indo...Imagina se fossem 20 times?
30 times ?
O site da CBF tem 214 times brasileiros no ranking.
Como ficaria nosso código ? ENORME, gigante, bagunçado, feio, um verdadeiro cabaré.
Assim não dá, assim não pode!
E é aí que vai em a instrução ELIF.
Note que tem um trecho de código que se repete, e muito:
else:
if [condição]
Isso se repete vááááárias vezes em nosso código!
O que vamos fazer é resumir ela, para:
elif [condição]:
Simples assim! Pegamos a instrução ELSE que está seguida de uma IF, e fundimos ela em uma instrução chamada ELIF.
ELIF - Por que usar ?
Não precisamos indentar (dar espaço)! Podemos colocar uma ELIF embaixo de outra ELIF e nosso código não fica tão extenso horizontalmente (e escrevemos menos).O nosso código anterior ficaria:
resposta=int(input('Que colocação no ranking deseja saber: ')) if resposta == 1: print('Palmeiras! Vai porco!') elif resposta == 2: print('Cruzeiro') elif resposta == 3: print('Grêmio') elif resposta == 4: print('Santos') elif resposta == 5: print('Atlético-MG! Vai galo!') elif resposta == 6: print('Timão!') elif resposta == 7: print('Mengo!') elif resposta == 8: print('Botafogo') elif resposta == 9: print('Atlétito-PR') elif resposta == 10: print('Internacional') else: print('Só temos até o décimo!')
Bem mais simples, bonito, alinhado e menor.
Obrigado, muito bem explicado! Tenho 12 anos e estou gostando muito do curso :D
ResponderExcluirShow demais!!!
ResponderExcluirNesse exemplo por quê eu deveria usar assim e não da forma abaixo?
ResponderExcluirresposta=int(input('Que colocação no ranking deseja saber: '))
if resposta == 1: print('Palmeiras! Vai porco!')
if resposta == 2: print('Cruzeiro')
if resposta == 3: print('Grêmio')
if resposta == 4: print('Santos')
if resposta == 5: print('Atlético-MG! Vai galo!')
if resposta == 6: print('Timão!')
if resposta == 7: print('Mengo!')
if resposta == 8: print('Botafogo')
if resposta == 9: print('Atlétito-PR')
if resposta == 10: print('Internacional')
if resposta > 10: print('Só temos até o décimo!')
Basicamente, é o seguinte: o if funciona como uma condição, então o computador vai checar se a condição é cumprida e, se for, ele vai fazer o que precisa. Só que, nesse caso, é impossível que mais de uma das condições sejam cumpridas, não é possível que a pessoa queira o 8 e o 3 ao mesmo tempo, por exemplo, então, o elif vai dizer que se o if anterior foi cumprido, o computador nem precisa checar esse. Nesse caso, como o programa é bem simples, não faz muita diferença, mas em programas maiores a velocidade aumenta dramaticamente, por exemplo.
Excluir