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

Erro em saca(conta, 20)

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.

2 respostas

Bom dia Marcelo, tudo bem? Espero que sim!

Testei diversas vezes o código e procurei onde podia estar errado, mas não encontrei. Pode ter acontecido algum bug no Google Colab. Para você conseguir resolver, clique na aba Ambiente de Execução no Colab e selecione Reiniciar Ambiente de execução . Feito isso rode os códigos novamente.

Reiniciar ambiente de execução Colab

Poderia haver algum erro de indentação ou alguma modificação que você fez na sua função e o Colab não identificou sua mudança corretamente. Reiniciando o ambiente de execução, tudo irá funcionar como o esperado.

Qualquer coisa me avisa aqui caso continue o erro.

Estou à disposição. Bons estudos!

solução!

Muito obrigado pela ajuda João Vitor. Fiz exatamente o que você me indicou e agora está funcionando normalmente.