1
resposta

[Dúvida] Não entendi a resposta da cotação dolar

esse código é a resposta certa if response.status_code == 200: data = response.json() cotacao = float(data['USDBRL']['varBid']) mensagem = f"U$ 1 dólar corresponde a R$ {cotacao:.2f}" print(mensagem) else: print(f"A requisição falhou com o código de status {response.status_code}"), porém o json na imagem abaixo vem zerado o valor da chave ['varBid'], esta correto? a resposta no meu console é U$ 1 dólar corresponde a R$ 0.00 a linha corrigida com resposta esperada deveria ser assim cotacao = float(data['USDBRL']['bid'])

Json request cotação dolar-real

1 resposta

Oi Rafael!

Pelo que você descreveu e pela imagem fornecida, realmente parece que o valor da chave ['varBid'] está vindo zerado, o que explicaria o porquê de você estar recebendo a mensagem de que 1 dólar corresponde a R$ 0.00. Isso pode acontecer se a variação da cotação do dólar em relação ao real não tiver mudado desde a última atualização, o que parece ser o caso aqui, já que o ['varBid'] e o ['pctChange'] estão zerados.

A chave ['bid'] que você mencionou contém o valor de compra do dólar, e é o valor que você provavelmente quer usar para informar a cotação atual do dólar em relação ao real. Portanto, a linha corrigida que você propôs está correta para obter a cotação desejada:

cotacao = float(data['USDBRL']['bid'])

Com essa correção, o seu código deve funcionar como esperado e fornecer a cotação atual do dólar. Lembre-se de sempre verificar se as chaves do JSON que você está acessando contêm os dados que você espera para a sua aplicação.

Espero ter ajudado e bons estudos!