Ir para o conteúdo
ou

Software livre Brasil

Magnun

Nenhum artigo selecionado ainda.
 Voltar a Blog
Tela cheia

[Curso de Python] Estruturas For Aninhadas

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

Antes de prosseguir leia os artigos anteriores aqui.



Olá pessoal!! Sei que sumi e demorei para postar essa continuação! Peço desculpas a todos e garanto que vou retomar a regularidade das postagens.

Sem mais delongas, vamos ao que interessa!



Estruturas For Aninhadas



Muitas vezes uma única estrutura for não é o suficiente para realizarmos um trabalho, para sanar isso utilizamos um aninhamento de estruturas for. Uma estrutura for aninhada nada mais é que "um for dentro de outro for".

Um aninhamento de 2 fors torna possível percorrer e analisar estruturas de duas dimensões. Um simples exemplo a baixo:
Código:
listas_nums = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for lista_num in listas_nums:
    # For externo, responsável por percorrer pegar a lista de números dentro da lista
    print 'Encontrei a lista',lista_num
    print '   Essa lista é composta por:',
    for num in lista_num:
        # For interno, responsável por percorrer os números dentro de cada lista.
        print num,
    print ''
Nesse exemplo, nosso for mais externo percorre o conteúdo da lista listas_nums, que são as seguintes listas: [1, 2, 3], [4, 5, 6] e [7, 8, 9]. O for mais interno é executado em cada uma dessas listas, dessa forma ele percorre o conteúdo (números) de cada lista. abaixo a saída produzida pelo código acima:
Código:
Encontrei a lista [1, 2, 3]
   Essa lista é composta por: 1 2 3
Encontrei a lista [4, 5, 6]
   Essa lista é composta por: 4 5 6
Encontrei a lista [7, 8, 9]
   Essa lista é composta por: 7 8 9
Esse tipo de abordagem é efetiva para uma série de problemas. Vamos ver agora alguns exemplos mais práticos, como por exemplo calcular a média dos valores de cada lista:
Código:
listas_nums = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for lista_num in listas_nums:
    tamanho = len(lista_num)
    soma = 0
    for num in lista_num:
        soma = soma + num
    media = float(soma)/tamanho
    print 'A média da lista', lista_num, 'é:',media
Segue a saída gerada pelo código acima:
Código:
A média da lista [1, 2, 3] é: 2.0
A média da lista [4, 5, 6] é: 5.0
A média da lista [7, 8, 9] é: 8.0

Exercícios


Agora vou deixar alguns exercícios para vocês resolverem:

1. O dicionário abaixo representa uma lista de alunos (chaves) e suas notas (valores). Percorra esse dicionário e calcule a média de cada aluno imprimindo o nome do aluno seguido de sua nota.
alunos = {'fulano':[6, 7, 5, 2], 'sicrano':[7, 8, 9, 8], 'beltrano':[10, 9, 10, 10]}

2. Repita o exercício 1 informando, ao final de tudo, a média da turma.

3. Repita o exercício 2 informando quais alunos foram aprovados (média deve ser maior ou igual a 6).

Fonte: http://under-linux.org/blogs/magnun/curso-de-python-estruturas-aninhadas-1853/

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.