Estruturas de controle
Controle o fluxo de execução dos seus programas
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:
-
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).
-
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.
-
Use nomes significativos para as variáveis de laço sempre que fizer sentido.
-
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