Olá pessoal tudo bom com vcs, estou iniciando python por meio do curso do professor gustavo guanabara sobre python, tbm vi alguns videos do tiktok sobre python e tive interesse em começar na linguagem, porém estou com uma séria duvida sobre as funções e toda vez que tento colocar alguma função pra funcionar da erro no código. Tentei tudo porém não obtive sucesso e queria saber se alguém com experiência na linguagem poderia me ajudar pfvr. Segue a foto do codigo que eu tentei fazer.
quando você quer criar uma função em python a syntax é essa.
def adicionar_transacao():
nome = input("Nome: ")
valor = float(input("Valor: "))
fluxo_caixa.append({
"nome" : nome,
"valor" : valor
})
Problema
No caso você criou uma função porém está faltando levar em consideração 2 coisas: indentação e a forma que a função é construída.
Indentação
Na programação em Python, a indentação é como você organiza o código usando espaços ou tabulações (tecla TAB). É extremamente importante respeitar essas indentações no Python se não o código não funciona.
Bloco de instrução
O bloco de instrução no Python é um trecho do código que fica dentro de alguma operação. Para ficar mais facil de entender, veja o exemplos abaixo:
Criando um IF
idade = 28
if idade > 18:
print("maior de idade") # esse é o bloco de instrução do if acima
else:
print("menor de idade") # esse é o bloco de instrução do else acima
Perceba que usamos o :
após o inicio do IF. No else também.
O :
(dois pontos) que informa que vamos criar um bloco de instrução.
O espaço de um bloco de instrução para operação acima é de 4 ESPAÇOS
ou 1 TAB
.
Porém, se você adicionar o :
, normalmente ao apertar o ENTER
o editor de código ja faz a indentação para você.
Erros no seu código
Na linha 10, você iniciou uma função da forma correta, porem você esqueceu do :
no final.
Veja que tem até um sublinhado em vermelho no final da linha. Isso porque o Editor identificou que estava faltando algo.
Você cometeu o mesmo erro na linha 23 e na linha 25. Faltou o :
.
Além disso, se você observar atentamente, na linha 24 e na linha 26 a identação está diferente.
Na linha 24 a função que você chama esta um pouco para trás e na linha 26 está um pouco para frente.
Veja também que na linha 25, você escreveu: elif == 2
. Você esqueceu da variavel para fazer a comparação com o numero 2.
Conclusão
Se você tivesse adicionado o :
nos lugares que informei, ao apertar o ENTER
o editor de código faria a indentação correta.
Segue abaixo a correção desses 2 erros:
Função da linha 10 à linha 18
def adicionar_transacao():
nome = input("Nome: ")
valor = float( input("Valor: ") )
fluxo_caixa.append({
"nome": nome,
"valor": valor,
})
If/else da linha 23 até a linha 28
if opcao == 1:
adicionar_transacao()
elif opcao == 2:
adicionar_transacao()
else:
break