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

Desafio: Conversão de moedas - dólar e real

Olá

Para concluir o desafio, adicionei a função converter à classe ExtratorURL:

import locale
    def converter(self, cotacao):
        origem = extrator.get_valor_parametro("moedaOrigem")
        destino = extrator.get_valor_parametro("moedaDestino")
        quantidade = int(extrator.get_valor_parametro("quantidade"))
        if (origem == destino):
            raise ValueError("A moeda de origem não pode ser igual a de destino.")
        if origem == "real":
            valor_RS = quantidade
            valor_US = quantidade / cotacao
        elif origem == "dolar":
            valor_US = quantidade
            valor_RS = quantidade * cotacao
        else:
            raise ValueError("Este programa converte apenas reais e dólares.\n")

       locale.setlocale(locale.LC_ALL, 'pt_BR')
        valor_RS_string = locale.currency(valor_RS, grouping=True)
        locale.setlocale(locale.LC_ALL, 'en_US')
        valor_US_string = locale.currency(valor_US, grouping=True)
        print(valor_RS_string + " equivale a " + valor_US_string)

A função funciona da seguinte forma:

extrator = ExtratorURL("https://bytebank.com/cambio?moedaDestino=dolar&quantidade=100&moedaOrigem=real")

extrator.converter(4.99)

O valor da conversão é passado como parâmetro, sempre no formato " 1 USD = X BRL" No exemplo foi usado o valor em 29/04/23

A saída do programa está na imagem abaixo:

R$ 100,00 equivale a $20.04

1 resposta
solução!

Olá Leonardo, tudo bem com você?

Meus parabéns pela resolução do desafio e por compartilhá-lo com a comunidade do fórum Alura. Vejo que foi além do proposto e adicionou o uso da biblioteca locale. Continue se desafiando sempre, pois isso é muito importante para o seu desenvolvimento na área da programação. Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e 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