Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Erro no extrato depois de sacar

O programa parece estar correto, consigo criar a conta, depositar, e ver o extrato logo após, mas quando eu vou sacar aparece um erro: <function extrato at 0x0000023b589ef9c0> E não consigo mais ver o saldo

def cria_conta(numero, titular, saldo, limite):
  conta = {"numero": numero, "titular": titular, "saldo": saldo, "limite": limite}
  return conta

def deposita(conta, valor):
  conta["saldo"] += valor

def saca(conta, valor):
  conta["saldo"] -= valor

def extrato (conta):
  print("Saldo é {}".format(conta["saldo"]))
3 respostas
solução!

Oi, Matheus! Tudo bem?

A mensagem de erro <function extrato at 0x0000023b589ef9c0> parece indicar que em vez de chamar a função extrato, o código está tentando acessar o próprio objeto de função, ou seja, parece que está tentando acessar a função extrato() como se fosse uma variável ou objeto.

É necessário garantir que a função extrato() seja chamada corretamente, ou seja, usando os parênteses para indicar que é uma função a ser executada.

Como a função extrato deve ser chamada: extrato(conta)

Assim conta é o objeto de conta para ver o saldo.

Exemplo:

def cria_conta(numero, titular, saldo, limite):
  conta = {"numero": numero, "titular": titular, "saldo": saldo, "limite": limite}
  return conta

def deposita(conta, valor):
  conta["saldo"] += valor

def saca(conta, valor):
  conta["saldo"] -= valor

def extrato (conta):
  print("Saldo é {}".format(conta["saldo"]))

conta = cria_conta(89213, "Gilberto", 1585.23, 2700)
extrato(conta)  # Chamando a função extrato() corretamente

. . .

Se esta resposta te ajudou, favor marcar como solucionado ✓

Muito obrigado! Resolvido, eu realmente estava chamando o comando errado!

Imagina!

Boa semana e bons estudos! :)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software