[Curso de Python] Estruturas For Aninhadas
por
em 22-02-2010 às 11:44 (9956 Visualizações)
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:
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 :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 ''
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 :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
Segue a saída gerada pelo código acima: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
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.0Exercí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).
Comentários
+ Enviar Comentário