Jump to content

Archived

This topic is now archived and is closed to further replies.

jknet

Porque essa funcao nao retorna a soma ?

Recommended Posts

Consiguir fazer o programa , mas implementar na funcao nao deu certo. Desde ja agradeco.

 

def SomaPar(lista):
soma = 0
lista = []
for i in lista:
  	     if(i%2==0):
       	soma = soma + i
return soma

l = [12,3,5,0,1,23]
for j in l:
var = SomaPar(l)
print(var)
soma1 = 0
for i in range(len(l)):
if(i%2==0):
   	soma1 = soma1 + l[i]
print(soma1)

Share this post


Link to post
Share on other sites

Novamente: p/ postar código use a tag CODE ao invés de colocar espaços e pontos. Ainda mais numa linguagem na qual os blocos de código são definidos pelo recuo da linha.

 

Acho que é hora de você começar a usar o pdb (depurador python).

P/ isso, basta dar um import pdb e colocar pdb.set_trace() no ponto que desejar.

 

Não está imprimindo a soma porque você está zerando a lista dentro da função. Estude um pouco sobre escopo de variáveis.

 

Se a função recebe uma lista como argumento, não tem necessidade alguma de iterar pela lista fora dela.

Share this post


Link to post
Share on other sites

Acho que isso já é o suficiente:

 

def soma_par(lista):
   soma = 0
   for i in lista:
       if (i % 2 == 0):
          soma += i
   return soma

lista = [12, 2, 5, 0, 1, 23]

print soma_par(lista)

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.