Em [[Linguagem de programação Python|Python]], as **condições** são fundamentais para controlar o fluxo de execução de um programa, permitindo que diferentes blocos de código sejam executados com base na avaliação de expressões booleanas (verdadeiro ou falso). As palavras-chave principais para isso são `if`, `elif` (abreviação de "else if") e `else`.
# 1. Declaração `if`
A declaração `if` é a forma mais simples de condição. O bloco de código indentado abaixo do `if` será executado **apenas se** a condição for verdadeira.
```python
idade = 18
if idade >= 18:
print("Você é maior de idade.")
```
# 2. Declaração `if-else`
Quando você tem duas ações mutuamente exclusivas, ou seja, uma deve acontecer se a condição for verdadeira e outra se for falsa, você usa `if-else`.
```python
temperatura = 25
if temperatura > 30:
print("Está muito quente!")
else:
print("A temperatura está agradável ou fria.")
```
# 3. Declaração `if-elif-else`
Para lidar com múltiplas condições e cenários, você pode encadear `elif` (else if) entre o `if` e o `else`. O Python verificará as condições em ordem, e o primeiro bloco cuja condição for verdadeira será executado. Se nenhuma das condições `if` ou `elif` for verdadeira, o bloco `else` (se presente) será executado.
```python
num = int(input("Digite um número: ")) # Força o número a ser entendido como um inteiro
if num > 0: # Se o que está em num for maior que zero
print("O número é positivo.")
elif num < 0: # Senão se o que está em num for menor que zero
print("O número é negativo.")
else: # Senão é executado se nenhuma das condições acima foi verdadeira.
print("O número é zero.")
```
# Operadores Condicionais (Comparação)
Esses operadores são usados para comparar valores e resultam em um valor booleano (`True` ou `False`).
| Operador | Descrição | Exemplo | Resultado |
| :------- | :---------------- | :------ | :-------- |
| `==` | Igual a | `5 == 5` | `True` |
| `!=` | Diferente de | `5 != 10` | `True` |
| `<` | Menor que | `5 < 10` | `True` |
| `<=` | Menor ou igual a | `5 <= 5` | `True` |
| `>` | Maior que | `10 > 5` | `True` |
| `>=` | Maior ou igual a | `10 >= 5` | `True` |
# Expressões Condicionais (Operador Ternário)
Para atribuições simples baseadas em uma condição, Python oferece uma sintaxe mais concisa, conhecida como operador ternário:
`valor_se_verdadeiro if condição else valor_se_falso`
```python
idade = 20
status = "Maior de idade" if idade >= 18 else "Menor de idade"
print(status) # Saída: Maior de idade
saldo = 100
mensagem = "Saldo positivo" if saldo > 0 else "Saldo negativo ou zero"
print(mensagem) # Saída: Saldo positivo
```
# Truthiness e Falsiness
Em Python, nem tudo é explicitamente `True` ou `False`. Alguns valores são considerados "verdadeiros" (truthy) e outros "falsos" (falsy) em um contexto booleano:
**Valores Falsy:**
* `False`
* `None`
* `0` (inteiro, float, complexo)
* `""` (string vazia)
* `[]` (lista vazia)
* `()` (tupla vazia)
* `{}` (dicionário vazio)
* `set()` (conjunto vazio)
**Valores Truthy:**
* Qualquer coisa que não seja falsy (ex: números diferentes de zero, strings não vazias, listas não vazias, etc.).
```python
lista_compras = []
if lista_compras: # Avalia como False porque a lista está vazia
print("Você tem itens na lista.")
else:
print("Sua lista de compras está vazia.")
nome_usuario = "Alice"
if nome_usuario: # Avalia como True porque a string não está vazia
print(f"Bem-vindo, {nome_usuario}!")
```
:: **Referência:** :: [Site W3schools sobre condições em Python](https://www.w3schools.com/python/python_conditions.asp)
**:: Referência ::** [PY4E - Python para Todos](https://www.py4e.com/html3/03-conditional)