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

[SOLUÇÃO] Desafio como métodos da classe

Olá pessoal, estou aqui para compartilhar minha solução, utilizando OO e nossa classe que criamos durante o curso:

Primeiramente, criei um novo atributo de nosso objeto para definirmos o valor do Dólar:

self._dolar_value = Decimal('5.50')

Note que utilizei a função Decimal() para melhorarmos a precisão de nossos cálculos, como explanado em mais detalhes no seguinte artigo.

Em seguida defini dois métodos distintos: Um para calcular a conversão e outro para enviar a mensagem pro usuário:

  1. Método para cálculo de conversão:
def get_conversion_value(self):
        if self.get_parameter_value('moedaOrigem') == "dolar":
            final_value = Decimal(self.get_parameter_value('quantidade')) * self._dolar_value
        else:
            final_value = Decimal(self.get_parameter_value('quantidade')) / self._dolar_value
        return Decimal(final_value)
  1. Método de mensagem para usuário:
def set_output(self):
        print("A moeda origem é: $ {:0.2f} {}(s)".format(float(self.get_parameter_value('quantidade')), self.get_parameter_value('moedaOrigem')))
        print("Sendo covertido para: $ {:0.2f} {}(s)".format(self.get_conversion_value(), self.get_parameter_value('moedaDestino')))

Por fim, chamo o último método "set_output" em nosso método "init" para assim que criarmos nosso objeto, ele realizará a conversão automaticamente:

def __init__(self, url):
        self.url = self.sanitize_url(url)
        self.validate_url()
        self._dolar_value = Decimal('5.50')
        self.set_output()

Para visualizar todo o código, pode acessar no meu Github

Obrigado a todos e ótimos estudos!

1 resposta
solução!

Olá, João Gabriel! Tudo bem?

Mandou muito bem! Parabéns!

Sua solução para o desafio proposto ficou excelente.

Caso tenha ficado com alguma dúvida não deixe de compartilhar com a gente aqui no fórum.

Continue praticando.

Bons estudos.

Até mais!