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

o que significa " : "

utiliza-se o simbolo " : " na segunda e terceira linha, mas não consegui entender o que ele significa e porque tem que ser insirido, alguem poderia me ajudar com essa duvida ?

idade = 20
def verifica_se_pode_dirigir(idade):
  if idade >=18:
    print('Tem permissão para dirigir')

verifica_se_pode_dirigir(idade)
2 respostas
solução!

Olá,

Tanto "def" quanto "if" são comandos em python que são seguidos por uma identação na próxima linha pois os comandos seguintes fazem parte do bloco que essas keywords significam, nesses casos você precisa colocar os ":" para dizer que você fechou o bloco e a partir dai é esperado uma identenção na próxima linha.

Comandos como for, while, class e outros também vão pedir os ":" no final, alguns exemplos abaixo para você entender o motivo de ser necessário esse indicador de que seu comando chegou ao fim:

idade = 20
if idade >= 10: #nesse caso o ':' está dizendo que as condições do seu if acabou, apesar de parecer que é desnecessário
    print(idade)

# outro exemplo
if idade >= 10 and idade <=20: #nesse caso você teve duas condições, enquanto o seu if não chega no ':', não acabam as regras do seu if
    print(idade)

# outro exemplo:
if idade >= 10 and \ # usar barra invertida te permite escrever comandos multi-linhas, seguindo as boas práticas do PEP8 você nunca deveria escrever linhas longas demais, nesse caso fica útil
 idade <= 20: # seu if realmente acabou aqui, pois só aqui apareceu o ':'
    print(idade)

Abs!

100% compreendido obrigado pela excelente explicação