Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: 'NoneType' object is not subscriptable
acontece quando executo conta["numero"]
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: 'NoneType' object is not subscriptable
acontece quando executo conta["numero"]
Bom dia, Gabriel, tudo bem?
Consegue compartilhar o seu código para poder analisar com mais precisão?
Esse erro geralmente ocorre quando você tenta indexar um objeto que não tem essa funcionalidade (esse link explica sobre esse erro: http://net-informations.com/python/err/nonetype.htm).
def cria_conta(numero, titular, saldo, limite):
conta = {"numero": 321, "titular": "Marco", "saldo": 100.0, "limite": 1000.0}
return conta
Ok, acredito que esse erro está acontecendo porque você criou a função que gera o dicionário que representa a conta, porém não chegou a chamar ela dentro de uma variável conta. Então, fora do escopo dessa função, a variável conta não existe e, dessa forma, não tem como retornar o valor do número. Além disso a função está sempre criando um dicionário com os mesmos valores ao invés de adicionar os argumentos dessa função.
Para consertar esse problema, poderia ser feito algo como:
# Função para criar contas
def cria_conta(numero, titular, saldo, limite):
conta = {
"numero": numero,
"titular": titular,
"saldo": saldo,
"limite": limite
}
return conta
# Criação de uma nova conta dentro da variável "conta"
conta = cria_conta(321, 'Marco', 100.0, 1000.0)
# Retorna o número da conta criada
print(conta['numero'])
Espero ter ajudado! Qualquer dúvida mande em sequência e bons estudos!