def km_media(dataset, ano_atual):
for item in dataset.items():
result = item[1]['km'] / (ano_atual - item[1]['ano'])
return(result)
resultado = km_media(dados, 2019)
type(resultado)
def km_media(dataset, ano_atual):
for item in dataset.items():
result = item[1]['km'] / (ano_atual - item[1]['ano'])
return(result)
resultado = km_media(dados, 2019)
type(resultado)
Olá Wallace,
Confirma por favor se o return
está dentro ou fora do for, acabou ficando uma parte do código sem formatação aqui.
Com o return
dentro do for, após calcular o valor do primeiro carro já é executado o return que para toda a execução do for e da função e retorna esse valor do primeiro carro.
Após remover o return
do for e colocar no final da função outro problema aparece. Acontece que o valor que você salva em result
é sobrescrito a cada loop do for, você está sempre salvando o valor do cálculo na mesma variável, assim o valor do cálculo do carro anterior é perdido.
Se você quer o valor de todos os cálculos pode então salvar em uma lista, exemplo:
def km_media(dataset, ano_atual):
# Inicia uma lista vazia para guardar todos os valores
resultados = []
for item in dataset.items():
result = item[1]['km'] / (ano_atual - item[1]['ano'])
# Adiciona o valor do cálculo atual na lista
resultados.append(result)
# Por fim retornamos a lista
return(resultados)
resultado = km_media(dados, 2019)
Espero ter ajudado, qualquer dúvida é só falar!