Ir para o conteúdo
ou

Software livre Brasil

Magnun

Nenhum artigo selecionado ainda.
 Voltar a Blog
Tela cheia

[Curso de Python] O for e Outras Palavras Mais

8 de Junho de 2010, 0:00 , por Software Livre Brasil - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 166 vezes

Antes de prosseguir leia os artigos anteriores aqui.



Olá pessoal!! Retomando os posts desse curso de Python, se é que alguém ainda lembra quem eu sou...



O For e Outras Palavras Mais



Assim como o while, o for também pode ser associado a algumas palavras que o tornam mais útil. Então aqui vamos ver como usar o for em conjunto com as instruções break e else. Como todos esses já foram explicados utilizando a estrutura while não vou aprofundar muito no funcionamento desses, vou apenas mostrar alguns exemplos de implementação e deixar alguns exercícios.


A instrução break

A instrução break, conforme visto anteriormente, é útil para interromper abruptamente um loop. Para exemplificar vamos fazer um loop que procura a primeira ocorrência de um mesmo número dentro de duas listas.

Código:
lista1 = [1,2,3]
lista2 = [7, 5, 3, 4, 1]

for item1 in lista1:
    print 'procurando por',item1,'...'
    for item2 in lista2:
        print '\t',item1,'==',item2,'??',
        if item1 == item2:
            print ' Sim!'
            break
        else:
            print ' Não'
Output gerado:
Código:
procurando por 1 ...
        1 == 7 ??  Não
        1 == 5 ??  Não
        1 == 3 ??  Não
        1 == 4 ??  Não
        1 == 1 ??  Sim!
procurando por 2 ...
        2 == 7 ??  Não
        2 == 5 ??  Não
        2 == 3 ??  Não
        2 == 4 ??  Não
        2 == 1 ??  Não
procurando por 3 ...
        3 == 7 ??  Não
        3 == 5 ??  Não
        3 == 3 ??  Sim!
Coloquei muitos print para mostrar que o break impede que a lista2 seja percorrida totalmente.



A instrução else

Podemos ver que eu gerei muito output pra tornar o fluxo compreensivo além de não ter percebido que o número 2 não foi encontrado na lsita2. Com a ajuda da instrução else, podemos simplificar esse output e também detectar que o numero 2 não foi encontrado.
Código:
lista1 = [1,2,3]
lista2 = [7, 5, 3, 4, 1]

for item1 in lista1:
    print 'procurando por',item1,':',
    for item2 in lista2:
        if item1 == item2:
            print 'Encontrado!'
            break
    else:    
        print 'Não encontrado...'
Output gerado:
Código:
procurando por 1 : Encontrado!
procurando por 2 : Não encontrado...
procurando por 3 : Encontrado!
Exercícios
A título de fixação deixo alguns exercícios:
1. Dado o dicionário abaixo, faça programa que verifique qual dos alunos foi reprovado por falta. O critério de reprovação é ter mais faltado mais de 10 vezes.
Código:
faltas = {'aluno1':2, 'aluno2':3, 'aluno3':7, 'aluno4':11, 'aluno5':0, 'aluno6':10}
2. Tendo o exemplo anterior como base, modifique o programa de forma que ele cruze os dados do dicionário de faltas com o dicionário de notas (a baixo) e informe se o aluno foi aprovado, usando o critério de faltas e a média de suas notas (maior que 6).
Código:
notas = {'aluno1':[5,6,5], 'aluno2':[7,8,6], 'aluno3':[6,6,8], 'aluno4':[5,9,8], 'aluno5':[5,6,3], 'aluno6':[6,6,6]}

Fonte: http://under-linux.org/blogs/magnun/%5Bcurso-de-python%5D-o-e-outras-palavras-mais-2116/

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.