Boa tarde!
O meu código está identico ao seu. Porém, quando vou rodar ele aparece: =dolar
Não sei o que está acontecendo.
obs: Estou com a última versão do python, no anaconda
Boa tarde!
O meu código está identico ao seu. Porém, quando vou rodar ele aparece: =dolar
Não sei o que está acontecendo.
obs: Estou com a última versão do python, no anaconda
Samuel, tudo bem? Por via das dúvidas vc pode compartilhar seu código aqui? Para ficar mais legível use o botão "<> INSERIR CÓDIGO" que fica no início da caixa de texto.
Beleza!!
O código abaixo pertence ao arquivo "main", de acordo com o curso sobre manipulação se strings, mais específicamente, aula 2 --> Construindo mais métodos...
import import_ipynb
import manipulacao_string
from manipulacao_string import Extrato_argumentos_url
url = "moedaorigem=real&moedadestino=dolar"
argumentos_url = Extrato_argumentos_url(url)
moeda_origem, moeda_dest = argumentos_url.extrai_argumentos()
print(moeda_destino,moeda_origem)
Como essa aula tem dois arquivos operando, o outro cuja importação foi chamada no código acima ("manipulacao_string"), é:
class Extrato_argumentos_url:
def __init__(self, url):
if self.url_valida(url):
self.url = url
else:
raise LookupError("URL Invalida!!")
@staticmethod
def url_valida(url):
if url:
return True
else:
return False
def extrai_argumentos(self):
indice_inicial_moeda_dest = self.url.find("=",15) +1
indice_inicial_moeda_origem = self.url.find("=") +1
indice_final_moeda_origem = self.url.find("&")
moeda_origem = self.url[indice_inicial_moeda_origem:indice_final_moeda_origem]
moeda_destino = self.url[indice_inicial_moeda_destino:]
return moeda_origem, moeda_destino
Fui rodar o código hoje cedo, apareceu assim no arquivo "main": indice_inicial_moeda_orgiem is not defined
Consegui, ja!!
Obrigado
Boa Samuel, parabéns!
Olá Samuel. Analisando o código para aparecer o =dollar é quando não somamos + 1 no resultado da função find. Esse +1 tem a função de andar mais uma posição dessa maneira pulando a posição do =.
indice_inicial_moeda_dest = self.url.find("=",15) +1
Outra questão que vi no manipulacao_string.py é o nome da variável moeda_destino que foi declarada no trecho abaixo.
indice_inicial_moeda_dest = self.url.find("=",15) +1
indice_inicial_moeda_origem = self.url.find("=") +1
indice_final_moeda_origem = self.url.find("&")
Quando ela é referenciada nesse trecho ela aprece com um nome diferente indice_inicial_moeda_destino
moeda_origem = self.url[indice_inicial_moeda_origem:indice_final_moeda_origem]
moeda_destino = self.url[indice_inicial_moeda_destino:]
O mesmo acontece no arquivo main.py com a variável moeda_dest que foi criada no trecho abaixo.
moeda_origem, moeda_dest = argumentos_url.extrai_argumentos()
Quando utilizada no trecho abaixo é referenciada com o nome moeda_destino.
print(moeda_destino,moeda_origem)
Em ambos os casos de nome de variáveis diferentes a correção é apenas manter o mesmo nome nos dois trechos do código.
Bons estudos.