Executando verificação de segurança...
9

Estruturas de Controle em Python

Estruturas de Controle em Python

As estruturas de controle são fundamentais na programação, permitindo que você controle o fluxo de execução do seu código. Em Python, as principais estruturas de controle são if, else, elif, for e while.

1. Condicionais (if, else, elif)

As condicionais permitem que você execute diferentes blocos de código com base em certas condições.

if

O comando if verifica se uma condição é verdadeira. Se for, executa o bloco de código associado.

x = 10
if x > 5:
    print("x é maior que 5")
else

O comando else é usado junto com if para definir um bloco de código que será executado se a condição if for falsa.

x = 3
if x > 5:
    print("x é maior que 5")
else:
    print("x não é maior que 5")
elif

O comando elif (abreviação de "else if") permite testar múltiplas expressões sequencialmente.

x = 7
if x > 10:
    print("x é maior que 10")
elif x > 5:
    print("x é maior que 5 mas menor ou igual a 10")
else:
    print("x é menor ou igual a 5")

2. Laços (for, while)

Os laços permitem que você repita um bloco de código múltiplas vezes.

for

O laço for é usado para iterar sobre uma sequência (como uma lista, tupla, string, ou range).

# Iterando sobre uma lista
frutas = ["maçã", "banana", "cereja"]
for fruta in frutas:
    print(fruta)

# Iterando sobre um range de números
for i in range(5):  # range(5) gera números de 0 a 4
    print(i)
while

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

contador = 0
while contador < 5:
    print(contador)
    contador += 1  # incrementa o contador em 1 a cada iteração

Exemplos Práticos

Exemplo 1: Condicional Simples

idade = 18
if idade >= 18:
    print("Você é maior de idade.")
else:
    print("Você é menor de idade.")

Exemplo 2: Laço for com range

for i in range(1, 11):
    print(f"{i} x 2 = {i * 2}")

Exemplo 3: Laço while com Condicional

numero = 1
while numero <= 10:
    if numero % 2 == 0:
        print(f"{numero} é par.")
    else:
        print(f"{numero} é ímpar.")
    numero += 1

Dicas Úteis

  • Indentação: Em Python, a indentação é crucial para definir blocos de código. Certifique-se de usar a mesma quantidade de espaços para indentação dentro de um bloco.
  • Uso de break e continue:
    • break: Encerra o laço antecipadamente.
    • continue: Pula a iteração atual e vai para a próxima iteração do laço.
for i in range(10):
    if i == 5:
        break  # Encerra o laço quando i é 5
    print(i)

for i in range(10):
    if i % 2 == 0:
        continue  # Pula a iteração quando i é par
    print(i)

Estas são as estruturas de controle básicas em Python. Dominá-las é essencial para escrever programas eficientes e lógicos.

Carregando publicação patrocinada...
4

Complementando:

Em Python, existe uma construção que não é comum em outras linguagens mainstream: um loop for ou while pode ter um else associado. A ideia é que este bloco só é chamado caso o loop não seja interrompido por break. Exemplo:

itens = # lista contendo vários elementos
for i in itens:
    if criterio(i): # se o elemento satisfaz algum critério qualquer
        print(f'Encontrado: {i}')
        break
else:
    print('Nenhum elemento encontrado')

Ou seja, se algum elemento satisfaz o critério, entra no if, imprime a mensagem que foi encontrado e o break interrompe o loop. Neste caso, como o loop foi interrompido com break, o bloco else não é executado.

Mas caso nenhum elemento satisfaça o critério, o loop não será interrompido por break, e depois que o for terminar, o bloco else é executado (ou seja, imprime "Nenhum elemento encontrado").

Esta é uma construção interessante, e não sei dizer porque não é adotado por mais linguagens. Pois caso não existisse, o normal seria fazer algo do tipo:

# se não existisse o for-else
itens = # lista contendo vários elementos
encontrado = None
for i in itens:
    if criterio(i): # se o elemento satisfaz algum critério qualquer
        encontrado = i
        break

if encontrado is not None:
    print(f'Encontrado: {encontrado}')
else:
    print('Nenhum elemento encontrado')

Ou seja, usar alguma variável para determinar se o elemento foi ou não encontrado, e testá-la depois para saber o resultado. Porém, eu acho que neste caso o for-else fica mais limpo e direto.

-1