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?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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?
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!