6
respostas

Material completo

Olá, Me código está rodando mas não consigo obter as respostas "real" e "dolar". Já passei e repassei o vídeo mas sem o o projeto completo fica difícil. Onde consigo achar o arquivo?

6 respostas

Oii Victoria, como você está?

Já avisei a equipe e eles irão disponibilizar o quanto antes este projeto completo, peço desculpas por isso. Compartilhe o seu código que te ajudo a encontrar o porque de não estar obtendo o resultado esperado.

Para compartilhar um código aqui no fórum basta clicar em inserir código e colar o código dentro das aspas demarcadas.

Fico no aguardo para te ajudar =)

class ExtratorArgumentosUrl:
    def __init__(self, url):
        if self.validacao_url(url):
            self.url = url
        else:
            raise LookupError('URL INVÁLIDA!!!!!!!!!')

    @staticmethod
    def validacao_url(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)
from ExtratorArgumentos import ExtratorArgumentosUrl

url = '“https://bytebank.com/cambio?moedaorigem=moedadestino&moedadestino=dolar”'


argumentos_url = ExtratorArgumentosUrl(url)
moeda_origem, moeda_destino = argumentos_url.extrai_argumentos()
print(moeda_origem, moeda_destino)

Victoria, analisei seu código.

Alguns pontos que estão fazendo você obter o valor incorreto:

  • A sua url se difere da url mostrada no curso, no seu código está da seguinte forma: moedaorigem=moedadestino&moedadestino=dolar, mas nesse trecho o correto é: moedaorigem=real&moedadestino=dolar

  • No método "encontra_indice_inicial" da classe ExtratorArgumentosUrl é necessário acrescentar o valor 1 ao índice para que o sinal de igual seja retirado da string e retorne apenas a palavra dolar ou real.

Segue abaixo o código com as alterações:

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

argumentos_url = ExtratorArgumentosUrl(url)
moeda_origem, moeda_destino = argumentos_url.extrai_argumentos()
print(moeda_origem, moeda_destino)
class ExtratorArgumentosUrl:
    def __init__(self, url):
        if self.validacao_url(url):
            self.url = url
        else:
            raise LookupError('URL INVÁLIDA!!!!!!!!!')

    @staticmethod
    def validacao_url(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) + 1

    def troca_moeda_origem(self):
        self.url = self.url.replace('moedadestino', 'real', 1),
        print(self.url)

Qualquer dúvida estou por aqui, tá bom?

Abraços e bons estudos!

Também gostaria do projeto completo. O vídeo está rápido e difícil de acompanhar, na minha opinião

Lucas, sinto muito que esteja enfrentando dificuldades por falta do material completo. Já informei a equipe e iremos disponibilizar o quanto antes este material.

Qualquer dúvida que houver, poste aqui no fórum que tentaremos te ajudar, tá bom?

Grande abraço!