Estou com a seguinte dúvida em relação ao comportamento de uma variável em uma função.
A função é:
def soma(x,y):
if(len(x)==len(y)):
soma=x
for i in range(0,len(x)):
soma[i]=x[i]+y[i]
return soma
else:
print("O número de elementos é diferente")
return 0
a=[1,2,3]
b=[4,5,6]
soma1=soma(a,B)
print("1: ",soma1)
print(a)
soma2=soma(a,[8,8,8])
print(soma2)
A saída está sendo:
1:[5,7,9]
[5,7,9]
[13,15,17]
O problema é o seguinte: Ele está atribuindo a variável a o valor retornado pela função soma(a,B). Lembre-se que não estou usando a variável a dentro da função, estou usando x. Nem estou atribuindo a a o valor soma(a,B) em nenhum momento.
ALguém poderia me explicar o porque disto estar acontecendo.
Se ajudar estou usando o Python 3.2 com Idle no Ubuntu.
Pergunta
Marcelo Damasceno
Olá Pessoal,
Estou com a seguinte dúvida em relação ao comportamento de uma variável em uma função.
A função é:
A saída está sendo:O problema é o seguinte: Ele está atribuindo a variável a o valor retornado pela função soma(a,B). Lembre-se que não estou usando a variável a dentro da função, estou usando x. Nem estou atribuindo a a o valor soma(a,B) em nenhum momento.
ALguém poderia me explicar o porque disto estar acontecendo.
Se ajudar estou usando o Python 3.2 com Idle no Ubuntu.
Obrigado.
Editado por Marcelo DamascenoLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.