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.
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.
Também estou com o mesmo problema. Aqui quando eu rodo a função km_media(dados, 2019
só aparece o resultado do crossfox.
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