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:
- 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)
- 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!