Conteúdo do Curso
Estruturas Condicionais no Python
Estruturas Condicionais no Python
Operadores Lógicos
Anteriormente, exploramos situações envolvendo uma única condição na instrução if. Agora, vamos nos aprofundar em cenários onde precisamos avaliar múltiplas condições.
Uma abordagem é usar instruções if
aninhadas, como demonstrado no exemplo:
Exemplo 1:
is_adult = True has_license = True if is_adult: if has_license: print("You can drive car")
No entanto, depender excessivamente de condições if
aninhadas não é considerado uma boa prática. Um desenvolvedor experiente preferiria usar operadores lógicos em vez de aninhar condições.
Exemplo 2:
is_adult = True has_license = True if is_adult and has_license: print("You can drive car")
A linguagem Python tem 3 operadores lógicos:
and
- condition_1 and condition_2 - funciona apenas se ambas as condições foremTrue
.or
- condition_1 or condition_2 - funciona se pelo menos uma das duas condições especificadas forTrue
.not
-not condition
é aplicado a uma única condição (não duas como acima) e inverte seu valor.
python
Na sintaxe Python, cada valor "vazio" é equivalente a False
, e qualquer valor "não-vazio" é equivalente a True
.
Exemplo 3:
steps_taken = 0 if not steps_taken: print("No steps recorded yet. Time to get moving!")
Logical and
Condition with and
works only if both conditions are True
.
steps_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.")
Let's continue by examining conditional statements with multiple conditions. Imagine you've taken exams in three subjects and received the following results: math_exam = 95
, english_exam = 90
, programming_exam = 100
. You've decided to apply to three different universities, each with its own admission requirements. Let's explore these requirements.
To enter the first university, you must have a score greater than or equal to 90 in all three subjects simultaneously. Let's see if you meet this university's criteria.
As we can see, your scores from all exams are greater than or equal to 90, so our if statement worked.
Then move on to the next university. Here the condition is different, since this is the best university in your city, your scores must be greater than or equal to 95.
# Your scores math_exam = 95 english_exam = 90 programming_exam = 100 # Checking whether you will pass to the second university if math_exam >= 95 and english_exam >= 95 and programming_exam >= 95: print('Congratulations! You are enrolled in our university')
As we see that our condition is not fulfilled, since we have two objects that satisfy the condition, but the third object, namely english_exam = 90
, it is less than 95. Therefore, we do not get anything as a result, and our if statement is not executed.
Moving on to the next university. Here the condition is quite simple. In order to pass here, you need to have at least one subject that has passed 100 points.
It is obvious that for this case we need to use the or operator.
1. In a fitness tracker app, you want to check if a user meets their daily step goal and calorie goal. Which logical operator should you use?
2. How would you check if the user meets at least one of their fitness goals?
3.
Obrigado pelo seu feedback!