Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Value string?

Eu fiz o exercício conforme o professor mostrou:

dados = {'Crossfox': 72832.16, 'DS5': '12345.78', 'Jetta Vaiant': 88078.64}
dados.items()

Depois desempacotei a tupla:

for key, value in dados.items():
  print(key, value)

Mas quando coloco:

for key, value in dados.items():
  if(value > 10000):
    print(key)

Dá o seguinte erro:

Crossfox
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-44-d157ff10a1e6> in <module>()
      1 for key, value in dados.items():
----> 2   if(value < 100000):
      3     print(key)

TypeError: '<' not supported between instances of 'str' and 'int'

Não entendi o motivo do erro, porque o type de value é float.

2 respostas
solução!

Olá Maria, tudo bem? Espero que sim!

O que está acontecendo é que o valor da chave DS5 está como formato de string nos seus dados, então quando há a comparação desse valor com um número inteiro, ocorre um erro.

Os dados que você utilizou são:

dados = {'Crossfox': 72832.16, 'DS5': '12345.78', 'Jetta Vaiant': 88078.64}

Você deve retirar as aspas do valor '12345.78' para que ele se torne um float:

dados = {'Crossfox': 72832.16, 'DS5': 12345.78, 'Jetta Vaiant': 88078.64}

Estou à disposição. Bons estudos!

Obrigada, João Vitor. Ajudou muito :)