Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

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!

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

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