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

Duvida sobre referencias

Boa noite,

nesse codigo

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

tendo como base que estamos usando os dados a seguir:

    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}
    }

a linhas de código se referem a quais itens na tabela de dados?

```
media = **item[1]['km']** / (ano_atual -** item[1]['ano']**)
    **item[1].update**({ 'km_media': media })
    result.update({ **item[0]: item[1] **})
```
1 resposta
solução!

Olá, Gabriel! Tudo bem com você?

Vamos entender primeiro o que temos dentro do laço de repetição for item in dataset.items(). O método .items() de um dicionário retorna um objeto de exibição que exibe uma lista de um par de tuplas de um determinado dicionário (chave, valor). Ao fazer a impressão de forma individual o que temos em item é:

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}
}

for item in dados.items():
    print(item)

Saída:

('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})

Ou seja, temos uma tupla. Uma tupla pode ser acessada por índices, então quando imprimimos somente item[1] o que temos é o seguinte:

{'km': 35000, 'ano': 2005}
{'km': 17000, 'ano': 2015}
{'km': 130000, 'ano': 1979}
{'km': 56000, 'ano': 2011}
{'km': 62000, 'ano': 1999}

Agora o que temos é um dicionário que podemos acessar com suas respectivas chaves. Por isso que temos item[1]['ano'] no código.

# Aqui estamos calculando a média da quilometragem de acordo com o ano atual
media = item[1]['km'] / (ano_atual - item[1]['ano'])  

# Aqui estamos adicionando uma nova chave km_media e seu respectivo valor. 
item[1].update({ 'km_media': media })  

# Aqui estamos atualizando o dicionário result criado anteriormente, com o nome do carro e o dicionário criado atualizado na linha anterior. 
result.update({ item[0]: item[1]})

Qualquer dúvida estou à disposição.

Bons estudos.

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