Bom dia João, como você está?
Obrigada por trazer essa questão, estava com erro de sintaxe e já solicitei a correção.
Agora vamos entender porque a primeira opção estava dando erro. Quando escrevemos um código e mandamos executar, alguém/alguma coisa vai traduzir para que o computador entenda o que foi escrito e consiga executar ou parar a execução alertando o problema. Para que o intérprete consiga fazer o trabalho dele, vamos ter que combinar algumas regras antes, esses combinados são regras de análise léxica, a grosso modo, é o processo de traduzir uma sequência de caracteres para um código que o computador conheça.
Nós temos na primeira linha: uma expressão (alunos.Idade > 10)
, o conectivo lógico &
e em seguida uma quebra de linha, mas o interpretador estava esperando outra expressão e não uma quebra de linha, ele não conhece essa regra, não sabe que a expressão está na linha seguinte, por isso, ele interrompe a execução apontando o erro de sintaxe.
No momento que você acrescenta os parênteses, o interpretador vai verificar a continuação da expressão nas próximas linhas, até encontrar o parênteses que está finalizando a expressão, ou seja, a primeira expressão para o interpretador passa a ser a seguinte:
((alunos.Idade > 10) &
(alunos.Idade < 20))
Outra forma de corrigir o problema seria removendo a quebra de linha, da seguinte forma:
selecao = (alunos.Idade > 10) & (alunos.Idade < 20) | (alunos.Idade >= 40)
Espero ter ajudado, mas qualquer problema é só mandar mensagem aqui viu?!
Abraço e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!