0%
Estruturas de controle em Python: condições e laços

Estruturas de controle

Controle o fluxo de execução dos seus programas

10-15 min

Estruturas de controle em Python: condições e laços

As estruturas de controle são elementos fundamentais da programação que permitem controlar o fluxo de execução de um programa. Em vez de executar as instruções de forma linear, elas permitem tomar decisões e repetir ações com base em condições específicas. Neste tutorial, vamos explorar as diferentes estruturas de controle disponíveis em Python.

Instruções condicionais (if, elif, else)

As instruções condicionais permitem executar um código somente se certas condições forem atendidas. Python oferece várias formas de instruções condicionais.

Instrução if simples

A forma mais básica é a instrução if seguida de uma condição:

age = 18

if age >= 18:
    print("Vous êtes majeur.")

Neste exemplo, a mensagem será exibida somente se a idade for maior ou igual a 18.

Instrução if-else

Para executar um bloco de código alternativo quando a condição não for atendida, usamos else:

age = 16

if age >= 18:
    print("Vous êtes majeur.")
else:
    print("Vous êtes mineur.")

Instrução if-elif-else

Para testar várias condições em sequência, usamos elif (abreviação de “else if”):

score = 75

if score >= 90:
    print("Excellent !")
elif score >= 80:
    print("Très bien !")
elif score >= 70:
    print("Bien.")
elif score >= 60:
    print("Passable.")
else:
    print("Besoin d'amélioration.")

Python avalia as condições em ordem e executa o bloco de código correspondente à primeira condição verdadeira.

Expressões condicionais (operador ternário)

Python oferece uma sintaxe compacta para expressões condicionais simples:

age = 20
statut = "majeur" if age >= 18 else "mineur"
print(f"Vous êtes {statut}.")

Essa expressão é equivalente à instrução if-else completa.

Laços

Os laços permitem executar um bloco de código várias vezes. Python oferece dois tipos principais de laços: for e while.

Laço for

O laço for em Python é usado para iterar sobre uma sequência (lista, tupla, dicionário, conjunto ou string):

# Iteração sobre uma lista
fruits = ["pomme", "banane", "orange"]
for fruit in fruits:
    print(f"J'aime les {fruit}s.")

# Iteração sobre um intervalo de números
for i in range(5):  # 0, 1, 2, 3, 4
    print(i)

# Iteração com índice
for index, fruit in enumerate(fruits):
    print(f"{index}: {fruit}")

A função range() é frequentemente usada com laços for para gerar sequências de números.

Laço while

O laço while executa um bloco de código enquanto uma condição for verdadeira:

compteur = 0

while compteur < 5:
    print(f"Compteur: {compteur}")
    compteur += 1

É importante garantir que a condição do laço while se torne falsa em algum momento, para evitar laços infinitos.

Instruções de controle de laço

Python fornece instruções especiais para modificar o comportamento dos laços.

break

A instrução break permite sair imediatamente de um laço:

for i in range(10):
    if i == 5:
        break
    print(i)  # Exibe 0, 1, 2, 3, 4

continue

A instrução continue passa para a próxima iteração do laço:

for i in range(10):
    if i % 2 == 0:  # Se i for par
        continue
    print(i)  # Exibe apenas os números ímpares: 1, 3, 5, 7, 9

else com laços

Pouco conhecido, mas muito útil: os laços for e while podem ter uma cláusula else, que é executada quando o laço termina normalmente (sem break):

for i in range(5):
    print(i)
else:
    print("Boucle terminée normalement")

# Com break
for i in range(5):
    if i == 3:
        break
    print(i)
else:
    print("Ce message ne sera pas affiché")

List comprehensions

As list comprehensions oferecem uma sintaxe concisa para criar listas a partir de sequências existentes:

# Criar uma lista com os quadrados dos números de 0 a 9
carres = [x**2 for x in range(10)]
print(carres)  # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

# Com condição
pairs = [x for x in range(10) if x % 2 == 0]
print(pairs)  # [0, 2, 4, 6, 8]

Essa sintaxe também pode ser usada para dicionários e conjuntos.

Boas práticas

Aqui estão algumas dicas para usar as estruturas de controle de forma eficaz:

  1. Indentação: em Python, a indentação não é apenas uma questão de estilo, ela define a estrutura do código. Seja consistente com a indentação (recomenda-se 4 espaços por nível).

  2. Evite aninhamentos excessivos: muitos níveis de aninhamento tornam o código difícil de ler. Tente refatorar seu código ou usar funções para reduzir a complexidade.

  3. Use nomes significativos para as variáveis de laço sempre que fizer sentido.

  4. Prefira as list comprehensions aos laços for tradicionais em operações simples de transformação de dados.

Conclusão

As estruturas de controle são essenciais para escrever programas Python flexíveis e poderosos. Elas permitem que você tome decisões, repita ações e manipule o fluxo de execução dos seus programas.

No próximo tutorial, exploraremos a programação orientada a objetos em Python, que permitirá organizar seu código de maneira ainda mais eficiente e modular.

Comentários

Os comentários são alimentados pelo GitHub Discussions

Conecte-se com o GitHub para participar da discussão

Link copiado!