Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] PORQUE MEU CODIGO NÃO DEU CERTO

Olá gente boa tarde, vou colocar dois códigos aqui, o primeiro é meu feito sozinho, somente pelo meu entendimento, o segundo foi tirado da questão (que é um codigo correto), queria saber porque o meu não deu certo, se alguém pudesse me explicar, desde já agaradeço.

FEITO POR MIM:


def velocidade( espaco, tempo):
  v = espaco / tempo 
  print(f'A velocidade é {v}')
  velocidade(100,20)

PEGO DA QUESTÃO:

def velocidade(espaco, tempo):
 v = espaco / tempo
 print(f'Velocidade: {v} m/s')

velocidade(100, 20)
1 resposta
solução!

Olá, Matheus! Tudo bom? Espero que sim!

No código que você escreveu, a chamada da função (parte do código que executa a função), ainda está dentro do escopo de definição. Isto é, o código velocidade(100, 20) está com a indentação alinhada mais a direita.

Já na questão, o código está escrito de maneira correta, a indentação é mais a esquerda, alinhado com o def. E o Python entende que a função já terminou e está agora sendo chamada.

O Python entende a indentação como limitação desses escopos, e nós podemos adicionar ou remover o espaço de tabulação com a tecla Tab (para adicionar), e as teclas (Shift + Tab) para remover.

Então:

def velocidade(espaco, tempo):
  v = espaco / tempo 
  print(f'A velocidade é {v}')
  velocidade(100,20)

É diferente de:

def velocidade(espaco, tempo):
  v = espaco / tempo 
  print(f'A velocidade é {v}')
velocidade(100,20)

Sendo esta última a maneira correta.

Se ainda tiver alguma dúvida, estou por aqui. Ótimos estudos e grande abraço!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Não é necessário fechar o tópico, outras pessoas podem ser ajudadas por ele :D