Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Resolução Exercicio

Olá, Estou usando os mesmos dados que os utilizados na aula, porém a função não realiza o calculo para todos os itens da lista dados. É como se o laço for i in x não pegasse todos os itens.

dados = {
    'Crossfox': {'km': 35000, 'ano': 2005}, 
    'DS5': {'km': 17000, 'ano': 2015}, 
    'Fusca': {'km': 130000, 'ano': 1979}, 
    'Jetta': {'km': 56000, 'ano': 2011}, 
    'Passat': {'km': 62000, 'ano': 1999}
}

Função km_media

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

Chamando a função

km_media(dados, 2019)

Resultado

{'Crossfox': {'ano': 2005, 'km': 35000, 'km media': 2500.0}}

Obs.: Estou usando o Google Colab

1 resposta
solução!

Olá Lucas,

Acredito que o problema seja apenas a identação do return na função km_media. Como está no seu código o return faz parte do for, mas na verdade deveria estar fora do for:

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

Espero ter ajudado, qualquer coisa é só falar!

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