Ver Feed RSS

root@blog:/# chmod o+r *

[Curso de Python] Correção - Funções com Argumentos

Avalie este Post de Blog

Antes de prosseguir leia os artigos anteriores aqui.


Dessa vez dois colegas apresentaram soluções (PEdroArthurJEdi e o neiesc). Cada um abordou o problema de uma forma. Como ainda estamos estudando o básico do Python, vou adotar uma solução mais simplista e que se utiliza somente das noções básicas de programação.


1.
Faça uma programa que utilize uma função para calcular a média dos alunos do dicionário a baixo:

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]}

Dica: Crie uma função que tenha como argumento um lista de notas.

Código da solução:
Código PHP:
def calcula_media(notas):
    
total 0
    tamanho 
0
    
for nota in notas:
        
total += nota
        tamanho 
+= 1

    total 
float(total)/tamanho
    
print 'Media:'total

for aluno in notas:
    print 
'Aluno',aluno,
    
calcula_media(notas[aluno]) 
Saída do programa:
Código :
Aluno aluno1 Media: 5.33333333333
Aluno aluno3 Media: 6.66666666667
Aluno aluno2 Media: 7.0
Aluno aluno5 Media: 4.66666666667
Aluno aluno4 Media: 7.33333333333
Aluno aluno6 Media: 6.0
2. Faça uma função que calcule o quadrado de uma dado número. Exemplo:
Código :
>>> quadrado(2)
4
>>> quadrado(4)
16
>>> quadrado(3)
9
Código da solução:
Código :
>>> def quadrado(numero):
...     print numero**2
...
>>> quadrado(2)
4
>>> quadrado(4)
16
>>> quadrado(5)
25
>>> quadrado(3)
9
>>>
3. Faça uma função que encontre o maior número de uma determinada lista. Teste-a com as listas a baixo:
Código :
l1 = [1, 2, 3]
l2 = [2,7,5,3]
l3 = [7,3,9,5]
l4 = [0, 1, -1]
l5 = [-4, -2, -6]
Código da solução:
Código PHP:
def maior(lista):
    
maior_n lista[-1]
    for 
numero in lista:
        if 
numero maior_n:
            
maior_n numero
    
print 'Maior numero em',lista,':',maior_n

maior
([123])
maior([2,7,5,3])
maior([7,3,9,5])
maior([01, -1])
maior([-4, -2, -6]) 
Execução do programa:
Código :
Maior numero em [1, 2, 3] : 3
>>> maior([2,7,5,3])
Maior numero em [2, 7, 5, 3] : 7
>>> maior([7,3,9,5])
Maior numero em [7, 3, 9, 5] : 9
>>> maior([0, 1, -1])
Maior numero em [0, 1, -1] : 1
>>> maior([-4, -2, -6])
Maior numero em [-4, -2, -6] : -2

Atualizado 01-09-2010 em 09:16 por Magnun

Categorias
Artigos , Artigos , Cursos , Curso de Python

Comentários

  1. Avatar de silvanofideles
    Magnum, e se o código ficar mais ou menos assim, deixaria de ser uma função ?? desculpe, mas como disse sou aprendiz de tudo e estou começando do zero. Obrigado...
    [PHP]def medias(notas):
    for i in notas:
    media= 0
    conta= float(len(notas[i]))
    for j in notas[i]:
    media += float(j)
    media = media/conta
    print i, "tem media = %.2f" % media

    medias(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]})[/PHP]
    Atualizado 23-11-2010 em 22:24 por silvanofideles
  2. Avatar de Magnun
    Não, assim também está correto. Mas ao invés de utilizar uma lista de notas como argumento vc utilizou um dicionário contendo os alunos e suas respectivas notas
  3. Avatar de fabraga
    Gostei mais do meu! :P

+ Enviar Comentário