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?
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!