Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: 'NoneType' object is not subscriptable
acontece quando executo conta["numero"]
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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!