Operadores Lógicos em Python
Anteriormente, exploramos situações envolvendo uma única condição na declaração if. Agora, vamos analisar cenários em que precisamos avaliar múltiplas condições.
Declarações if aninhadas
Uma abordagem é utilizar declarações if aninhadas, conforme demonstrado no exemplo:
123456steps_taken = 8000 calories_burned = 300 if steps_taken >= 5000: if calories_burned >= 500: print("Excellent work! You hit your daily fitness goals.")
No entanto, depender excessivamente de condições if aninhadas não é considerado uma boa prática. Um desenvolvedor experiente prefere utilizar operadores lógicos em vez de aninhar condições.
Utilizando operadores lógicos
Os operadores lógicos permitem combinar múltiplas condições de forma mais eficiente.
A linguagem Python possui três operadores lógicos: not, and, or.
12345steps_taken = 8000 calories_burned = 300 if steps_taken >= 5000 and calories_burned >= 500: print("Excellent work! You hit your daily fitness goals.")
O operador not
not é aplicado a uma condição e inverte seu valor.
1234steps_taken = 0 if not steps_taken: print("No steps recorded yet. Time to get moving!")
Na sintaxe do Python, cada valor "vazio" é equivalente a False, e qualquer valor "não vazio" é equivalente a True. Por exemplo:
- 0 é False, 1 é True;
- [] é False, [1] é True;
- "" é False, "a" é True;
- etc.
Operador lógico and
A condição com and só é verdadeira se ambas as condições forem True.
123456steps_taken = 8000 calories_burned = 600 hydration_level = 2 if steps_taken >= 5000 and calories_burned >= 500 and hydration_level >= 2: print("Amazing! You've achieved all your fitness goals for the day.")
Operador lógico ou
A condição com or é satisfeita se pelo menos uma das duas (ou mais) condições especificadas for True.
Suponha que você queira comemorar pequenas conquistas. Se atingir pelo menos uma de suas metas, exiba uma mensagem motivacional.
123456steps_taken = 8000 calories_burned = 200 hydration_level = 2 if steps_taken >= 10000 or calories_burned >= 500 or hydration_level >= 2: print("Great job! You're making progress on your fitness journey.")
Aqui, o hydration_level atende à condição, então a instrução if é executada. Lembre-se, com o operador or, apenas uma condição precisa ser True.
1. Em um aplicativo de monitoramento de atividades físicas, você deseja verificar se o usuário atingiu a meta diária de passos e de calorias. Qual operador lógico deve ser utilizado?
2. Como verificar se o usuário atingiu pelo menos uma das metas de atividade física?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you explain the difference between 'and' and 'or' with more examples?
How does the 'not' operator work with complex conditions?
Can you show how to combine all three logical operators in one statement?
Awesome!
Completion rate improved to 6.67
Operadores Lógicos em Python
Deslize para mostrar o menu
Anteriormente, exploramos situações envolvendo uma única condição na declaração if. Agora, vamos analisar cenários em que precisamos avaliar múltiplas condições.
Declarações if aninhadas
Uma abordagem é utilizar declarações if aninhadas, conforme demonstrado no exemplo:
123456steps_taken = 8000 calories_burned = 300 if steps_taken >= 5000: if calories_burned >= 500: print("Excellent work! You hit your daily fitness goals.")
No entanto, depender excessivamente de condições if aninhadas não é considerado uma boa prática. Um desenvolvedor experiente prefere utilizar operadores lógicos em vez de aninhar condições.
Utilizando operadores lógicos
Os operadores lógicos permitem combinar múltiplas condições de forma mais eficiente.
A linguagem Python possui três operadores lógicos: not, and, or.
12345steps_taken = 8000 calories_burned = 300 if steps_taken >= 5000 and calories_burned >= 500: print("Excellent work! You hit your daily fitness goals.")
O operador not
not é aplicado a uma condição e inverte seu valor.
1234steps_taken = 0 if not steps_taken: print("No steps recorded yet. Time to get moving!")
Na sintaxe do Python, cada valor "vazio" é equivalente a False, e qualquer valor "não vazio" é equivalente a True. Por exemplo:
- 0 é False, 1 é True;
- [] é False, [1] é True;
- "" é False, "a" é True;
- etc.
Operador lógico and
A condição com and só é verdadeira se ambas as condições forem True.
123456steps_taken = 8000 calories_burned = 600 hydration_level = 2 if steps_taken >= 5000 and calories_burned >= 500 and hydration_level >= 2: print("Amazing! You've achieved all your fitness goals for the day.")
Operador lógico ou
A condição com or é satisfeita se pelo menos uma das duas (ou mais) condições especificadas for True.
Suponha que você queira comemorar pequenas conquistas. Se atingir pelo menos uma de suas metas, exiba uma mensagem motivacional.
123456steps_taken = 8000 calories_burned = 200 hydration_level = 2 if steps_taken >= 10000 or calories_burned >= 500 or hydration_level >= 2: print("Great job! You're making progress on your fitness journey.")
Aqui, o hydration_level atende à condição, então a instrução if é executada. Lembre-se, com o operador or, apenas uma condição precisa ser True.
1. Em um aplicativo de monitoramento de atividades físicas, você deseja verificar se o usuário atingiu a meta diária de passos e de calorias. Qual operador lógico deve ser utilizado?
2. Como verificar se o usuário atingiu pelo menos uma das metas de atividade física?
Obrigado pelo seu feedback!