Em Python, há três formas principais de repetição:
- O loop for, que é usado para iterar sobre uma sequência de valores.
- O loop while, que é usado para repetir um bloco de código enquanto uma condição é verdadeira.
- O iterador, que é usado para acessar os elementos de uma sequência um a um.
A escolha de qual forma de repetição utilizar depende do problema que você está tentando resolver.
Loop com for
Em geral, o loop for é mais utilizado quando você sabe exatamente quantas vezes deseja repetir um bloco de código.
Exemplo:
Usando o loop for com a função range para repetir um número fixo de vezes:
1
2
3
for i in range(5):
print(i)
Escreva um programa em Python que imprima todos os números pares de 0 a 100.
1
2
for i in range(0, 101, 2):
print(i)
Nesse algoritmo, usamos a função range() para criar uma sequência de números de 0 a 100 com um passo de 2 (para que apenas os números pares sejam incluídos). Em seguida, usamos um loop for para percorrer essa sequência e imprimir cada número.
Loop com while
O loop while é mais utilizado quando você precisa repetir um bloco de código enquanto uma condição é verdadeira. Usando o loop while para repetir um bloco de código enquanto uma condição for verdadeira:
Exemplo:
1
2
3
4
5
6
# Usando o loop while para repetir um bloco de código
i = 0
while i < 5:
print(i)
i += 1
Iterator de loop
O iterador é utilizado quando você precisa acessar os elementos de uma sequência de forma individual.
Exemplos:
1
2
3
4
5
# Iterando sobre uma lista usando o loop for
numbers = [1, 2, 3, 4, 5]
for num in numbers:
print(num)
Escreva um programa em Python que calcule a média aritmética de uma lista de números.
1
2
3
4
5
6
7
8
9
10
numeros = [3, 5, 8, 12, 15]
soma = 0
for numero in numeros:
soma += numero
media = soma / len(numeros)
print("A média é:", media)
Nesse algoritmo, definimos uma lista de números e usamos um loop for para percorrer a lista e somar todos os números. Em seguida, dividimos essa soma pelo número de elementos na lista (usando a função len()) para calcular a média. Por fim, exibimos a média usando a função print().
Lembre-se que repetição é uma parte fundamental da programação e é útil para tarefas como cálculos, filtragem de dados, busca, entre outros.
Saindo do loop
Algumas vezes necessitamos sair do loop, para isso podemos usar o comando break:
Usando a instrução break para sair de um loop prematuramente:
1
2
3
4
5
6
7
# Usando a instrução break para sair de um loop prematuramente
numbers = [1, 2, 3, 4, 5]
for num in numbers:
if num == 3:
break
print(num)
Pulando a iteração
Usando a instrução continue para pular para a próxima iteração do loop:
1
2
3
4
5
6
numbers = [1, 2, 3, 4, 5]
for num in numbers:
if num == 3:
continue
print(num)
Lista de exercícios com repetições
- Escreva um programa que imprima todos os números pares de 0 a 20.
- Escreva um programa que peça ao usuário para digitar um número inteiro positivo e calcule a soma de todos os números ímpares de 1 até esse número.
- Escreva um programa que peça ao usuário para digitar uma frase e conte quantas vogais (a, e, i, o, u) ela possui.
- Escreva um programa que peça ao usuário para digitar uma lista de números e imprima o maior número da lista.
- Escreva um programa que peça ao usuário para digitar uma palavra e imprima a palavra invertida.
- Escreva um programa que calcule a média aritmética de uma lista de números.
- Escreva um programa que peça ao usuário para digitar um número inteiro e verifique se ele é um número primo.
- Escreva um programa que peça ao usuário para digitar uma palavra e verifique se ela é um palíndromo (ou seja, se a palavra é igual quando lida de trás para frente).
Solução em Python
1. números pares
Escreva um programa que imprima todos os números pares de 0 a 20.
1
2
3
for i in range(0, 21, 2):
print(i)
2. cálculos com números
Escreva um programa que peça ao usuário para digitar um número inteiro positivo e calcule a soma de todos os números ímpares de 1 até esse número.
1
2
3
4
5
6
n = int(input("Digite um número inteiro positivo: "))
soma = 0
for i in range(1, n+1, 2):
soma += i
print("A soma dos números ímpares de 1 a", n, "é", soma)
3. contando as vogais
Escreva um programa que peça ao usuário para digitar uma frase e conte quantas vogais (a, e, i, o, u) ela possui.
1
2
3
4
5
6
7
8
frase = input("Digite uma frase: ")
vogais = "aeiou"
contagem = 0
for letra in frase:
if letra.lower() in vogais:
contagem += 1
print("A frase digitada possui", contagem, "vogais.")
4. o maior número
Escreva um programa que peça ao usuário para digitar uma lista de números e imprima o maior número da lista.
1
2
3
4
5
6
7
8
numeros = input("Digite uma lista de números separados por vírgulas: ")
numeros = numeros.split(",")
maior = int(numeros[0])
for numero in numeros:
if int(numero) > maior:
maior = int(numero)
print("O maior número da lista é", maior)
5. palavra invertida
Escreva um programa que peça ao usuário para digitar uma palavra e imprima a palavra invertida.
1
2
3
4
5
6
palavra = input("Digite uma palavra: ")
inversa = ""
for letra in palavra:
inversa = letra + inversa
print("A palavra invertida é", inversa)
6. calculando a média
Escreva um programa que calcule a média aritmética de uma lista de números.
1
2
3
4
5
6
palavra = input("Digite uma palavra: ")
inversa = ""
for letra in palavra:
inversa = letra + inversa
print("A palavra invertida é", inversa)
7. número primo
Escreva um programa que peça ao usuário para digitar um número inteiro e verifique se ele é um número primo.
1
2
3
4
5
6
7
8
9
10
11
numero = int(input("Digite um número inteiro: "))
primo = True
for i in range(2, numero):
if numero % i == 0:
primo = False
break
if primo:
print(numero, "é um número primo.")
else:
print(numero, "não é um número primo.")
8. palíndromo
Escreva um programa que peça ao usuário para digitar uma palavra e verifique se ela é um palíndromo (ou seja, se a palavra é igual quando lida de trás para frente).
1
2
3
4
5
6
7
8
9
palavra = input("Digite uma palavra: ")
inversa = ""
for letra in palavra:
inversa = letra + inversa
if palavra == inversa:
print("A palavra é um palíndromo.")
else:
print("A palavra não é um palíndromo.")