Estou com o seguinte código e o erro:
import sys
sys.path.insert(0, "/content/drive/MyDrive/ALURA/Formação_em_Python/Introdução_Orientação_de_Objetos/problema_do_paradigma_procedural/")
from teste import cria_conta, deposita, saca, extrato
conta = cria_conta(123,"Marcelo", 10000, 1000) #criamos uma conta
deposita(conta, 15)
saca(conta, 20)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-39-931dd3819409> in <module>()
7 deposita(conta, 15)
8
----> 9 saca(conta, 20)
/content/drive/MyDrive/ALURA/Formação_em_Python/Introdução_Orientação_de_Objetos/problema_do_paradigma_procedural/teste.py in saca(conta, valor)
16
17 def saca(conta, valor):
---> 18 conta["saldo"] -= valor
19
20 def extrato(conta):
NameError: name 'saldo' is not defined
Eu defini as minhas funções da seguinte forma:
def cria_conta(numero, titular, saldo, limite):
conta = {"numero": numero, "titular" : titular, "saldo" : saldo, "limite" : limite} #não queremos que numero, titular, etc sejam estátios, portanto, vamos definir umafunção e adicionar essas variáveis
return conta
def deposita(conta, valor):
conta["saldo"] += valor ##conta["saldo"] = conta["saldo"] + valor
def saca(conta, valor):
conta["saldo"] -= valor
def extrato(conta):
print("Saldo é {}" .format(conta["saldo"]))
Já rodei a minha função e deu tudo certo, mas quando eu vou para ocódigo e tento usar a função deposita da o erro citado acima.