Olá, o meu find para o argumento da moeda destino encontra o mesmo da moeda origem:
class ExtratorDeArgumentosUrl:
    def __init__(self, url):
        if(self.url_eh_valida(url)):
            self.url = url
        else:
            raise LookupError("URL inválida!!!!!!!")
    @staticmethod
    def url_eh_valida(url):
        if url:
            return True
        else:
            return False
    def extrai_argumentos(self):
        indice_inicial_moeda_destino = self.url.find("=", 1) + 1 #Pega a segunda ocorrência
        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_destinoEu consegui fazer usando o rfind("=") ao invés do find("=", 1) como estava na aula, mas gostaria de saber porque não está dando certo como o professor fez
 
            