O seu metodo funciona apenas na situacao aonde a url é conversao de dolar para real :
url = "bytebank.com/cambio?quantidade=100&moedaOrigem=dolar&moedaDestino=real"
no entanto, quando a conversao é de real para dolar quantidade nao é apresentada.
url = "bytebank.com/cambio?quantidade=100&moedaOrigem=real&moedaDestino=dolar"
Isto acontece pois a identacao esta incorreta, o metodo print
esta sendo chamado mais a dentro do if moeda_origem == "dolar":
, ou seja nas situacoes aonde o if moeda_origem == "real":
o print nao e chamado.
O correto seria isto, note que adicione o round apenas para arredondar o valor apresentado mostrando apenas com duas casas decimais:
url = "bytebank.com/cambio?quantidade=100&moedaOrigem=real&moedaDestino=dolar"
extrator_url = ExtratorURL(url)
valor_dolar = 5.50
moeda_origem = extrator_url.get_valor_parametro("moedaOrigem")
moeda_destino = extrator_url.get_valor_parametro("moedaDestino")
quantidade = extrator_url.get_valor_parametro("quantidade")
print(quantidade)
quantidade_float = float(quantidade)
if moeda_origem == "real":
quantidade_conversao = quantidade_float/valor_dolar
if moeda_origem == "dolar":
quantidade_conversao = quantidade_float*valor_dolar
print(round(quantidade_conversao,2))
Bons estudos,
espero ter ajudado.