2
respostas

Ajuda aqui galera por favor

Estou tendo muita dificuldade para fazer os metodos talvez seja um erro bobo mas não entendi o que ta de errado toda hora recebo a mensagem dizendo

Traceback (most recent call last):
  File "<input>", line 1, in <module>
NameError: name 'self' is not defined
class Conta:

    def __init__(self, numero, titular, saldo, limite):
        print("Construindo objeto ... {}".format(self))
        self.numero = numero
        self.titular = titular
        self.saldo = saldo
        self.limite = limite

    def extrato(self):
        print("Saldo de {} do titular {}".format(self.saldo, self.titular))

Não consegui nem fazer a função extrato direito , copiei e colei o codigo do professor para testar do jeito que tava e mesmo assim deu erro

porem quando eu coloco assim funciona:

class Conta:

    def __init__(self, numero, titular, saldo, limite):
        print("Construindo objeto ... {}".format(self))
        self.numero = numero
        self.titular = titular
        self.saldo = saldo
        self.limite = limite
        print("Saldo de {} do titular {}".format(self.saldo, self.titular))

Quando eu uso conta.extrato() sem o self dentro ele fala que falta 1 parametro

2 respostas

Ola Ryan, tudo certo?

Aqui na minha maquina funcionou usando o proprio codigo que voce mandou.

Talvez o erro não esteja nesta parte do codigo, e sim quando voce instancia a conta.

Voce poderia me mandar os comandos que voce esta digitando para instanciar a conta e para executar o metodo extrato?

Oi , tudo joia e você como vai?

eu estou usando estes comandos

 from conta import Conta
 conta = Conta(123, "Nico", 55.5, 1000.0)
Construindo objeto ... <conta.Conta object at 0x7fa29f59a518>
 conta.deposita(300.0)
conta.extrato()
Saldo de 355.5 do titular Nico
 conta.saca(100.0)
 conta.extrato()
Saldo de 255.5 do titular Nico