2
respostas

Não corrige o "moedaorigem=moedadestino"

Estou tentando descobrir o erro, mas não estou achando, alguem poderia me ajudar?

arquivo: main.ipynb

import import_ipynb
import manipulacao_string
from manipulacao_string import Extrato_argumentos_url

url = "https://bytebank.com/cambio?moedaorigem=moedadestino&moedadestino=dolar"

argumentos_url = Extrato_argumento_url(url)
moda_origem, moeda_destino = argumentos_url.extrai_argumentos()
print(moeda_origem, moeda_destino)

arquivo: manipulacao_string.ipynb

class  Extrato_argumentos_url:
    def __init__(self, url):
        if self.url_valida(url):
            self.url = url
        else:
            raise LookupError("URL Inválida!!")

    @staticmethod
    def url_valida(url):
        if url:
            return True
        else:
            return False

    def extrai_argumentos(self):
        busca_moeda_origem = "moedaorigem"
        busca_moeda_destino = "moedadestino"

        indice_inicial_moeda_origem = self.encontra_indice_inicial(busca_moeda_origem)
        indice_final_moeda_origem = self.url.find("&")
        moeda_origem = self.url[indice_inicial_moeda_origem:indice_final_moeda_origem]


        if moeda_origem == "moedadestino":
            self.troca_moeda_origem()
            indice_inicial_moeda_origem = self.encontra_indice_inicial(busca_moeda_origem)
            indice_final_moeda_origem = self.url.find("&")
            moeda_origem = self.url[indice_inicial_moeda_origem:indice_final_moeda_origem]

        indice_inicial_moeda_destino = self.encontra_indice_inicial(busca_moeda_destino)
        moeda_destino = self.url[indice_inicial_moeda_destino:]

        return moeda_origem, moeda_destino

    def encontra_indice_inicial(self, moeda_buscada):
        return self.url.find(moeda_buscada) + len(moeda_buscada)

    def troca_moeda_origem(self):
        self.url = self.url.replace("moedadestino", "real", 1)
        print(self.url)
2 respostas

Quando eu dou run, aparece:

=moedadestino &moedadestino=dolar

Oi Samuel, tudo bem ?

Isto está ocorrendo por um pequeno errinho, o correto é:

busca_moeda_origem = "moedaorigem="
busca_moeda_destino = "moedadestino="

No seu código temos:

 busca_moeda_origem = "moedaorigem"
 busca_moeda_destino = "moedadestino"

Modifique isto e o código funcionará como esperado.

Qualquer dúvida estou a disposição. Espero ter ajudado. Bons estudos!!!