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

Exercício: operações básicas com dicionários

Na questão abaixo eu testei os codigos da alternativa B e reportou o que se pedia no enunciado da questão, porém, ao marcar, a resposta correta era a alternativa D.

Operações básicas com dicionários Utilize o dicionário dados para responder a questão: dados = { 'Passat': { 'ano': 2012, 'km': 50000, 'valor': 75000, 'acessorios': ['Airbag', 'ABS'] }, 'Crossfox': { 'ano': 2015, 'km': 35000, 'valor': 25000 } } Note que dados tem dois itens, onde a chave (key) é o nome do veículo e o valor (value) é um dicionário com informações sobre este veículo (ano, quilometragem, valor e acessórios). Nossa tarefa nesta atividade é aprender como acessar as informações de um dicionário dentro de outro dicionário. Queremos o seguinte: 1) Testar se a chave acessorios existe no dicionário de informações do carro Crossfox (Resposta: False) 2) Testar se a chave acessorios existe no dicionário de informações do carro Passat (Resposta: True) 3) Obter o valor do carro Crossfox (Resposta: 25000) 4) Acessar o último acessório do carro Passat (Resposta: 'ABS')

Poderism fazer a gentileza de explicar o por que?

1 resposta
solução!

Olá, Robson. Tudo bem?

Primeiramente, vamos analisar cada teste da alternativa B.

Os testes são os seguintes:

1) 'acessorios' in 'Crossfox'

Neste teste, o resultado seria False, beleza? Mas por quê?

Aqui, estamos verificando se a String acessorios está contida em outra String, a Crossfox.

Como podemos ver, a String acessorios não está contida na String Crossfox, por isso o resultado é False.

Então, mesmo que o resultado aqui seja False, o teste foi feito de forma inapropriada.

2)'acessorios' in 'Passat'

Neste segundo teste, a mesma situação do teste 1 se repete, ou seja, estamos verificando se a String acessorios está contida na String Passat.

Como podemos ver, acessorios não está contido em Passat, por isso o resultado é False. Além disso, o resultado esperado neste teste era True,

3) dados['Crossfox']['valor']

Resultado: 25000

4)dados['Passat']['acessorios'][-1]

Resultado: 'ABS'

Os testes 3 e 4 estão corretos. Portanto, a alternativa B está incorreta, pois os testes 1 e 2 estão incorretos.

A alternativa D é a correta, pois os testes 1 e 2 são feitos da seguinte forma:

1) 'acessorios' in dados['Crossfox']

Estamos perguntando se a String acessorios está contida no dicionário dados, na chave Crossfox, que contém o seguinte valor:

'Crossfox': {
        'ano': 2015,
        'km': 35000,
        'valor': 25000
}

Como podemos ver, não encontramos a String acessorios nas chaves contidas aqui. Temos apenas as chaves ano, km e valor. Ou seja, o resultado é False.

2) 'acessorios' in dados['Passat']

Neste teste, estamos perguntando se a String acessorios está contida no dicionário dados, na chave Passat, que contém o seguinte valor:

'Passat': {
        'ano': 2012,
        'km': 50000,
        'valor': 75000,
        'acessorios': ['Airbag', 'ABS']
}

O resultado, neste caso, seria True, pois encontramos uma chave chamada acessorios, exatamente o nome que estávamos procurando.

Espero ter ajudado, Robson. Se tiver mais alguma dúvida, estou à disposição. Bons estudos =)

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