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

Erro em deposita(conta, 15.0)

Meu código até agora :

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"]))


só que:

from teste import cria_conta, deposita, saca, extrato

conta = cria_conta(123, "Lucas", 55.0, 1000.0)

deposita(conta, 15.0)

Traceback (most recent call last):

  File "<input>", line 1, in <module>

  File ***************************************", line 8, in deposita

    conta["Saldo"] += valor
KeyError: 'Saldo'

Porque está dando esse erro? desde já Obrigado!.

2 respostas
solução!

Faaaala Lucas, tudo tranquilo?

Este erro está ocorrendo porque o nome do atributo é "saldo" com "s" minúsculo, porém nos métodos saca e deposita está "Saldo" com "S" maiúsculo. Efetue essa modificação e o código funcionará como esperado. Abaixo, o código com as correções:

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"]))

Qualquer dúvida estou por aqui, tá bom?

Grande abraço!

Nossa, obrigado! :) , não tinha notado , devo ficar mais atento! :/ .