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

O Output 3 não sai corretamente

Olá! Alguém poderia me auxiliar, por gentileza?

Simulei a função corretamente e, quando utilizo a função incluindo os valores dos parâmetros, a única coisa que me retorna é o resultado do veículo Crossfox. Ainda não consegui identificar o por que.

Exercício no notebook do Colabs

3 respostas

Também estou com o mesmo problema. Aqui quando eu rodo a função km_media(dados, 2019 só aparece o resultado do crossfox.

solução!

Xará, encontrei a resolução do nosso problema.

Nosso código estava da seguinte forma:

def km_media(dataset, ano_atual):
    result = {}
    for item in dataset.items():
        media = item[1]['km'] / (ano_atual - item[1]['ano'])
        result.update({ item[0]: media })
        return result

Percebes que o return result está indentado dentro do laço for? Nesse caso ele só está dando o resultado da primeira linha, que é o {'Crossfox': 2500.0}

Caso você modifique o código e indente o return da mesma forma que o for, o resultado passa a ser diferente:

def km_media(dataset, ano_atual):
    result = {}
    for item in dataset.items():
        media = item[1]['km'] / (ano_atual - item[1]['ano'])
        result.update({item[0]:media})
    return result

Testa aí pra ver se dá certo no teu, por favor. Minha explicação pode não ser a mais científica possível, mas fiquei quebrando a cabeça nesse código desde as 19h procurando o que eu estava fazendo de errado, e quando coloquei o return na mesma linha de indentação do for, o resultado deu certo =D

Se eu te ajudei, marca como tópico resolvido, por favor! Bons estudos!

Mesmo problema tive, Obrigado!

Sempre atento à identação

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