Aqui a minha resolução para o desafio:
Primeiro defini o método para calcular a conversão (levando em conta somente o caso de ida e volta entre as duas moedas):
def converter(self, origem, destino, quantia, cotacao):
conversao_para_real = quantia * cotacao
conversao_para_dolar = quantia / cotacao
if (origem == 'real') & (destino == 'dolar'):
return conversao_para_dolar
elif (origem == 'dolar') & (destino == 'real'):
return conversao_para_real
E aqui os comandos para usar o extrator url, definindo a cotação e as demais variáveis:
cotacao = 5.50
url = "bytebank.com/cambio?quantidade=394&moedaOrigem=real&moedaDestino=dolar"
extrator_url = ExtratorURL(url)
quantia = float(extrator_url.get_valor_parametro('quantidade'))
origem = extrator_url.get_valor_parametro('moedaOrigem')
destino = extrator_url.get_valor_parametro('moedaDestino')
print(extrator_url.converte(origem, destino, quantia, cotacao))