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

Dúvida - Seleção nível 3

No exercicio a alternativa A apresenta erro na sintaxe

selecao = (alunos.Idade > 10) & 
    (alunos.Idade < 20) | (alunos.Idade >= 40)
alunos[selecao]
File "<ipython-input-11-ee4a1256c950>", line 1
    selecao = (alunos.Idade > 10) &
                                    ^
SyntaxError: invalid syntax

Então testei colocar mais um parenteses e o problema foi corrigido

selecao = ((alunos.Idade > 10) & 
    (alunos.Idade < 20)) | (alunos.Idade >= 40)
alunos[selecao]

Não entendi pq o primeiro não deu certo

2 respostas
solução!

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!

Agora eu entendi, muito obrigado!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software