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

Duvida ordem execução operador & |

Como resposta do exercício 06 da aula 5 (https://cursos.alura.com.br/course/introducao-python-pandas/task/41495) o professor menciona como solucao (alunos['Idade'] >= 10) & (alunos['Idade'] <= 20) | (alunos['Idade'] >= 40) mas creio que o correto seria ((alunos['Idade'] >= 10) & (alunos['Idade'] <= 20)) | (alunos['Idade'] >= 40), ou seja, usando um parenteses albergando o entre 10 e 20 . Por exemplo, 45 é menor que 10 SIM & menor que 20 NAO | maior 40 SIM, logo, SIM NAO SIM, logo, não deveria retornar FALSO sem usar o parenteses agrupando 10 e 20?

1 resposta
solução!

Olá Joviano,

Como está na atividade vai funcionar por causa da ordem em que está definido as comparações e da lógica utilizada, mas realmente o ideal é utilizar os parêntesis para organizar melhor o código (mesmo que funcione sem).

Fazendo alguns testes com essa lógica:

print(True & False | True)
# Resultado: True

print(False & True | True)
# Resultado: True

print(True & True | False)
# Resultado: True

print(True & False | False)
# Resultado: False

Mas esse é um cenário bem específico, como você percebeu fica fácil de gerar confusão sem organizar com os parêntesis, então vou conversar com a equipe para melhorar essa atividade.

Obrigado pela dica!

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