Ir para o conteúdo
ou

Software livre Brasil

Magnun

Nenhum artigo selecionado ainda.
 Voltar a Blog
Tela cheia

[Curso de Python] Correção: Estruturas For Aninhadas

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

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.

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
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!


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

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
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.


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

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
Para resolver esse, bastou adicionar um if verificando se a nota é menor que 6 (de 0 até 5.9).

Até mais...

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

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.