Mandar um café pro programador

Pode me ajudar a transformar cafeína em código?

A instrução ELIF em Python

Em nosso Curso de Python Grátis, já aprendemos a usar o teste condicional IF, a dupla IF ELSE e até estudamos IF e ELSE aninhados, além de resolver exercícios bem interessantes sobre o assunto.

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.


ELIF - O que é ?

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.

4 comentários:

  1. Obrigado, muito bem explicado! Tenho 12 anos e estou gostando muito do curso :D

    ResponderExcluir
  2. Nesse exemplo por quê eu deveria usar assim e não da forma abaixo?

    resposta=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!')

    ResponderExcluir
    Respostas
    1. 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

Bora fazer evoluir o ensino da Programação no Brasil ?

Que tal apoiar e fazer crescer o ensino da programação no Brasil ?

Ajudar nosso país a crescer e se desenvolver cada vez mais, tecnologicamente?

Clica abaixo pra saber mais!

Apoiar o Projeto Progressivo