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

Forma alternativa para acessar o dataset.

Eu acabei não usando ".items()" nem ".values()" pra acessar o dicionário no loop for.

Existe algum caso em que a minha solução, não funcionaria?

def km_media(dataset, ano_atual):
  for i in range(len(dataset)):
    result = list(dataset.values())[i]['km'] / (ano_atual -list(dataset.values())[i]['ano'])
    print(result)
1 resposta
solução!

Olá, Anderson! Tudo bem com você?

Seu código cobre certinho os casos. Parabéns por ter encontrado outra forma de realizar o exercício e aplicando mais conceitos vistos, essa prática é essencial para a fixação dos conteúdos aprendidos.

Vou deixar como sugestão só um detalhe:

def km_media(dataset, ano_atual):
  valores = list(dataset.values())
  for i in range(len(dataset)):
    result = valores[i]['km'] / (ano_atual - valores[i]['ano'])
    print(result)

No código enviado por você, é realizado o casting dos valores do dicionário repetidas vezes (list(dataset.values())), porém fazendo apenas uma vez e passando essa lista para o laço for já resolve. Casting é transformação de um tipo de dado em outro, nesse caso você está transformando dataset.values() que é um dict_values, em uma lista. Então só tirei esse casting de dentro do laço de repetição e coloquei fora. Fica como dica de outra forma de resolver a questão.

Espero ter ajudado, mas se ainda persistir alguma dúvida estou sempre à disposição.

:)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

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