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

Erro ao tentar depositar e sacar

Estou tentando usar a função de deposito e saque porém da um erro dizendo que a variável de "saldo" não existe, podem me ajudar ? OBS = O código está em ingles mas as funções e seus nomes estão iguais aos da aula

def create_account(number, owner, balance, limit):
    account = {"number": number, "owner": owner, "balance": balance, "limit": limit}
    return account

def deposit(account, value):
    balance["balance"] += value

def withdraw(account, value):
    balance["balance"] -= value

def extract(account):
    print("O saldo é : {}".format(balance["balance"]))

Consigo executar a função de criar conta mas não consigo usar as outras.. Dizem que a variável balance não foi definida

deposit(account, 500)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:\Users\Gabriel Ribeiro\PycharmProjects\POO\main.py", line 6, in deposit
    balance["balance"] += value
NameError: name 'balance' is not defined
3 respostas

Oi, pode passar como você está criando o objeto account?

Bom dia Erick

Primeiro eu fiz :

from main import create_account, deposit, withdraw, extract

account = create_account("234-0", "Gabriel", 500, 1000)

Ao tentar usar o comando abaixo que ele da o erro

deposit(account, 500)

solução!

Consegui encontrar o problema, nas funções deposit, withdraw e extract eu estava usando os seguintes códigos :

def deposit(account, value):
    balance["balance"] += value

def withdraw(account, value):
    balance["balance"] -= value

def extract(account):
    print("O saldo é : {}".format(balance["balance"]))

Mas o código correto é o abaixo onde troco o balance["balance"] por account["balance"] nas funções

def deposit(account, value):
    account["balance"] += value

def withdraw(account, value):
    account["balance"] -= value

def extract(account):
    print("O saldo é : {}".format(account["balance"]))

As vezes coisinhas simples e bestas fritam nossa cabeça rsrs

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