Antes de prosseguir leia os artigos anteriores aqui.
Olá pessoal!! Depois de uma sumida pra conseguir lançar um dos meus projetos, estou retomando o curso. A um tempo deixei uns exercícios mas não corrigi. Logo... vamos corrigi-los!
Correção: Estruturas For Aninhadas
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]}
Esse exercício é muito divertido e simples. A grande sacada está em lembrar de usar o método items() em conjunto com o for. Vamos ver o código.
Nada muito complexo. Declaramos o dicionário com os alunos, e já vamos para o for. Nele "desempacotamos" as variáveis aluno (string) e a variável notas (lista de números). É importante notar que esse "desempacotamento" só é possível porque usamos o método items(), caso contrário só seria possível obter o nome do aluno. Depois criamos um novo for, que irá pegar cada nota dentro de notas. Esse for simplesmente soma todas notas do aluno. Depois desse for podemos dividir pelo comprimento da variável notas, assim obtemos a média!Código:alunos = {'fulano':[6, 7, 5, 2], 'sicrano':[7, 8, 9, 8], 'beltrano':[10, 9, 10, 10]} for aluno,notas in alunos.items(): media = 0 for nota in notas: media += nota media = float(media) / len(notas) print \"Aluno:\",aluno print \"Média:\",media print
2. Repita o exercício 1 informando, ao final de tudo, a média da turma.
Aqui bastou adicionar uma outra variável com o nome media_turma. Nela somamos todas as médias e depois dividimos pelo número de alunos.Código:alunos = {'fulano':[6, 7, 5, 2], 'sicrano':[7, 8, 9, 8], 'beltrano':[10, 9, 10, 10]} media_turma = 0 for aluno,notas in alunos.items(): media = 0 for nota in notas: media += nota media = float(media) / len(notas) media_turma += media print \"Aluno:\",aluno print \"Média:\",media print media_turma = float(media_turma)/len(alunos) print \"Media da turma:\",media_turma
3. Repita o exercício 2 informando quais alunos foram aprovados (média deve ser maior ou igual a 6).
Para resolver esse, bastou adicionar um if verificando se a nota é menor que 6 (de 0 até 5.9).Código:alunos = {'fulano':[6, 7, 5, 2], 'sicrano':[7, 8, 9, 8], 'beltrano':[10, 9, 10, 10]} media_turma = 0 for aluno,notas in alunos.items(): media = 0 for nota in notas: media += nota media = float(media) / len(notas) media_turma += media print \"Aluno:\",aluno if media < 6: print \"Média:\",media,\"(Reprovado)\" else: print \"Média:\",media print media_turma = float(media_turma)/len(alunos) print \"Media da turma:\",media_turma
Até mais...
[Curso de Python] Correção: Estruturas For Aninhadas
8 de Março de 2010, 0:00 - sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 240 vezes
0sem comentários ainda