Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Precedência de Operadores em Python | Dominando as Instruções If em Python
Fluxo de Controle em Python
Seção 1. Capítulo 5
single

single

Precedência de Operadores em Python

Deslize para mostrar o menu

Ao desenvolver uma aplicação em Python, é importante compreender como o Python lida com a precedência de operadores, que determina a ordem em que as operações são realizadas nas expressões. Isso garante que as condições sejam avaliadas corretamente. O uso de parênteses também pode ajudar a esclarecer e controlar a ordem das operações.

Precedência dos Operadores Lógicos

Entre os operadores lógicos, o Python segue esta precedência:

Exemplo: Metas de um Rastreador de Atividades Físicas

Vamos esclarecer com exemplos no contexto de um Rastreador de Atividades Físicas:

12345678910111213141516171819
# Example 1: AND has higher precedence than OR steps_taken = 8000 step_goal = 10000 calories_burned = 450 calorie_goal = 500 first_result = steps_taken >= step_goal or calories_burned >= calorie_goal and False # Same as: steps_taken >= step_goal or (calories_burned >= calorie_goal and False) # Example 2: Parentheses change the precedence second_result = (steps_taken >= step_goal or calories_burned >= calorie_goal) and True # Example 3: NOT has the highest precedence third_result = not (steps_taken >= step_goal) or calories_burned >= calorie_goal # Same as: (not (steps_taken >= step_goal)) or (calories_burned >= calorie_goal) print('The first expression is:', first_result) print('The second expression is:', second_result) print('The third expression is:', third_result)
Descrição do Código
expand arrow

Primeiro Resultado:

  • Python avalia and primeiro: (calories_burned >= calorie_goal and False, que é o mesmo que False and False) resulta em False;
  • Depois, or é aplicado: steps_taken >= step_goal or False se torna False or False, resultando em False.

Segundo Resultado:

  • Os parênteses forçam o Python a avaliar steps_taken >= step_goal or calories_burned >= calorie_goal primeiro. Como ambos steps_taken >= step_goal e calories_burned >= calorie_goal são False, o resultado dos parênteses é False;
  • Em seguida, False and False é avaliado, resultando em False.

Terceiro Resultado:

  • not tem a maior precedência, então not (steps_taken >= step_goal) é avaliado primeiro. Como steps_taken >= step_goal é False, not False se torna True;
  • Depois, calories_burned >= calorie_goal é avaliado, que é False;
  • Por fim, True or False resulta em True.
Note
Nota

Assim como os operadores lógicos, outros operadores como operadores de comparação (>=, <=, ==, etc.) e operadores matemáticos (+, -, *, /, etc.) também seguem uma ordem específica de precedência.

Por exemplo:

  1. Operadores matemáticos como * e / têm precedência maior que + e -;
  2. Operadores de comparação (<, >, ==, etc.) são avaliados após as operações matemáticas;
  3. Operadores lógicos (not, and, or) são avaliados por último.

O uso de parênteses ( ) pode ajudar a esclarecer e controlar a ordem de avaliação nas suas expressões.

Tarefa

Deslize para começar a programar

No código atual do Fitness Tracker, múltiplos comandos if aninhados tornam a lógica mais difícil de ler e manter. Sua tarefa é reescrever o código utilizando um único e conciso comando if com operadores lógicos. Use o operador lógico and para combinar várias condições.

As metas de condicionamento físico devem ser acompanhadas de forma eficiente, assim como seu código! A implementação atual verifica se:

  1. O usuário não atingiu a meta de passos.
  2. O usuário não queimou calorias suficientes.
  3. O usuário não se exercitou pela manhã.

Reescreva o código para melhorar sua legibilidade mantendo a mesma lógica.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 5
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

some-alt