1
resposta

dados e dataset

No começo do exercício é mostrado o dicionário nomeado como dados

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

mas esse dados não é usado em nenhum momento na função e sim outro nome dataset creio eu. Não seria assim ?

def km_media(dados, ano_atual):
    for item in dados.items():
        result = item[1]['km'] / (ano_atual - item[1]['ano'])
        print(result)
1 resposta

Oii Higor, tudo bem com você?

De fato, o dicionário dados não é utilizado diretamente na função, mas ele é passado como parâmetro no momento que chamamos a função:

km_media(dados, 2019)

Quando criamos uma função que recebe alguns parâmetros, como def km_media(dataset, ano_atual), esses parâmetros existem apenas dentro dessa função e, a princípio, eles não possuem nenhum valor. Para que eles tenham algum valor, nós devemos chamar a função e, ao chamá-la, passar o valor que desejamos que sejam atribuídos a esses parâmetros. Observe:

Imagem com o código do exercício. Na chamada da função km_media, são passados como parâmetros o dicionário dados e o ano 2019. Existe um círculo vermelho indicando a variável dados e uma seta vermelha ligada a esse círculo apontando para a variável dataset da função e existe um círculo verde destacando o numero 2019 e uma seta verde apontando para a variável ano_atual da função

No exemplo acima estamos fazendo justamente isso. Quando chamamos km_media(dados, 2019) estamos passando o dicionário dados (que está fora da função) para a variável dataset (que existe dentro da função) e estamos atribuindo o valor 2019 para a variável ano_atual (que também só existe dentro da função).

Dessa forma, durante a chamada da função km_media(dados, 2019) a variável dataset possuirá o mesmo conteúdo da variável dados e a variável ano_atual possuirá o valor 2019.

Espero que isso ajude. Qualquer dúvida estou por aqui, tá bom? :)

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