Quando tento usar a função __len__
ela não retorna o valor esperado. Segue o código:
from regex import *
if permissao == True:
class extrato_argumento:
def __init__(self, url):
if self.Url_eh_valida(url):
self.url = url
else:
raise AttributeError("Url inválida!!")
def __len__(self):
return 10
@staticmethod
def Url_eh_valida(url):
if url:
return True
else:
return False
def extrai_argumento(self, url):
indiceFinal = url.find("%")
indiceInicial = url.find("$")
indiceFinal1 = url.find("!")
indiceInicial1 = url.find("@")
moedaOrigem = url[indiceInicial + 1 : indiceFinal]
moedaFinal = url[indiceInicial1 + 1 : indiceFinal1]
valor = url.find("=")
valorFinal = url[valor + 1 : ]
if moedaOrigem.lower() == "moedaorigem":
self.trocaMoedaOrigem(moedaOrigem, valorFinal)
if moedaFinal.lower() == "moedadestino":
self.trocaMoeda(moedaFinal, valorFinal)
else:
print(f'Conversão de {moedaOrigem} para {moedaFinal}')
print(f'Estimada no valor de {valorFinal} {moedaOrigem}')
def trocaMoeda(self, moedaFinal, valorFinal):
moedaFinal = moedaFinal.replace("moedaDestino", "dolar")
print(moedaFinal.lower())
def trocaMoedaOrigem(self, moedaOrigem, valorFinal):
moedaOrigem = moedaOrigem.replace(moedaOrigem, "real")
print(f'Estimada no valor de {valorFinal} {moedaOrigem}')
print(f'Conversão de {moedaOrigem.lower()} para')
else:
raise TypeError("URL errada!")
extrato_argumento("https://sla")
O código onde chamo a função:
from ExtratoUrl import extrato_argumento
from regex import *
'''
argumento = 'moeda-origem$real.'
index = argumento.find("$")
print(index)
index2 = argumento.find(".")
io = argumento[index + 1 : index2]
print(io)
'''
url = "https://bytebank/$moedaOrigem%-@moedaDestino!&valor=10"
argumento = extrato_argumento(url)
''''
print(argumento)
'''
argumento = argumento.extrai_argumento(url)
O código regex:
import re
from ExtratoUrl import *
urlbyte = "https://bytebank"
url = "https://bytebank"
if url.startswith(urlbyte):
print("Acesso permitido!!")
permissao = True
else:
print("Acesso Negado!!")
permissao = False
email = "Meu número é 5545-5555, ah i u du zeu juseh eh 555557665 "
email1 = "o seu é 8888-8888"
padrao = "[0-9]{4,5}[-]*[0-9]{4}"
retorno = re.findall(padrao, email1)
print(retorno)
E a resposta no console:
C:\Users\evers\PycharmProjects\Strings\venv\Scripts\python.exe C:/Users/evers/PycharmProjects/Strings/main.py
Acesso permitido!!
['8888-8888']
Estimada no valor de 10 real
Conversão de real para
dolar
Process finished with exit code 0
Quando tento usar a função __str__
dá erro também, alguém sabe me dizer por quê? também observei que a versão do python do instrutor é a 3.7, o fato de dar errado está atrelado ao fato da minha versão ser a 3.8?