Solucionado (ver solução)
Solucionado
(ver solução)
10
respostas

Resultado de uma função

Olá, pra praticar tentei criar a função:

def idades_proximo_ano(idade):
    for idade in idades:
        return idade+1

para a seguinte lista:

idades = [20, 21, 32, 44, 50, 18]

Ao chamar a função:

idades_proximo_ano(idade)

não deu erro, porém tbm não veio nenhum resultado quando, na verdade, esperava cada idade acrescida de um ano. Alguém pode me ajudar? Obrigado!

10 respostas

Boas Ubiratan!

Cuidado com os nomes:

vc criou uma lista idades no plural... é ela que vc vai enviar para a função...

def idades_proximo_ano(idades):
    for idade in idades:
        return idade+1

assim a entrada vai ser idades... a saída vai ser cada item e dentro de idades... Quando chamar a função, vc vai precisar também mandar a lista idades com o nome correto da lista

idades_proximo_ano(idades)

Ainda pode armazenar numa variável como por exemplo:

proximo_ano = idades_proximo_ano(idades)

Espero ter ajudado!

Opa, vlw demais, Guaraci! Obrigado pela ajuda!

Olá, Guaraci! Desculpe o meu nível raso de conhecimento. Estou começando nisso. Eu tentei fazer de novo e ora recebo apenas o valor 33 ou 21 como output.

idades = [20, 21, 32, 44, 50, 18]
def idades_proximo_ano(idades):
    for idade in idades:
        return idade+1
idades_proximo_ano(idades)
proximo_ano = idades_proximo_ano(idades)
33

Fala Ubiratan, blz?

Provavelmente não vou conseguir explicar de uma forma decente pq estou começando agora ok?

Pelo que entendi do return, ele também serve pra encerrar a execuçao da função. logo, mesmo que esteja dentro do for in, ele vai pegar o primeiro valor, que no caso é 20, adicionar 1, retornando o valor 21 e finalizar a execuçao da funçao!

Por isso, estou confuso como que retorna o valor 33 também hehe! se alguem puder explicar...

Eu faria algo do tipo:

def idades_proximo_ano(idades):
    proximo_ano = [idade+1 for idade in idades]
    return proximo_ano

Olá, Luiz! Muito obrigado, cara! Vou tentar do jeito que você propôs. Vlw!

Oii Ubiratan, tudo bem?

Desculpa a demora! A solução que o Luiz passou ali em cima da certinho para o que você deseja fazer, legal vocês terem essa interação aqui no fórum, o melhor jeito de aprender é ensinando!

Se tiver mais dúvidas é só chamar, tudo bem?

Bons estudos ^^

Olá, Sthefanie! Tudo e vc? Acabei de rodar o código do Luiz e o resultado foi exatamente o mesmo: 21. Somente a primeira idade retornou.

solução!

Bom dia Ubiratan! Tudo bem?

Que estranho! Testei aqui de deu certinho, como você pode ver aqui:

Você está fazendo por qual IDE? Consegue me mostrar um print como esse que mandei? Pode mandar a imagem ou o código completo se preferir.

Estou por aqui se precisar!

Estou fazendo pelo Jupyter no VsCode. Apaguei tudo e refiz e agora deu. Desculpe e obrigado mais uma vez.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software