Veja também:
Curso Python Progressivo em PDF
Certificado do Curso para trabalhar como desenvolvedor Python
O Laço FOR com Listas em Python
Usaremos o laço for para iterar a lista, ou seja, acessar item por item.
Mas, vamos ver com exemplos!
Exemplo 1 de laço FOR com Listas
Faça um script que cria uma lista de 10 elementos, preenchendo eles de 0 até 9, usando laço for.Depois, printe essa lista.
Inicialmente, criamos nossa lista numeros.
No começo ela está vazia.
Vamos usar um iterador, uma variável count que vai de 0 até 9, através da função range.
Lembramos que count é um número, para concatenar ele, precisamos transformá-lo antes num lista: [count]
A cada looping do laço for, concatenamos nosso número na lista, veja:
numeros = [] for count in range(10): numeros += [count] print(numeros)
Exemplo 2 de laço FOR e Listas
No exemplo anterior, foi exibida uma lista no seguinte formato:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Use o laço for para exibir ela sem colchetes e vírgulas um número por linha.
Agora, ao invés de percorremos os elementos da função range (que retorna algo a uma lista), vamos usar nossa própria lista numeros.
Ou seja, o count vai iterar, assumir o valor de cada item da lista, um por um, e imprimimos essa variável:
numeros = [] for count in range(10): numeros += [count] for count in numeros: print(count)
Exemplo 3 de laço FOR e Listas
Faça com que o script anterior também calcule a soma de todos os elementos na lista numeros e exiba seu resultado.Vamos armazenar o valor numa variável chamada soma, que inicializamos como 0.
A cada iteração, somamos o valor de count a ela, como o count vai receber o valor de cada item da lista, teremos a soma de todos os termos da lista:
numeros = [] for count in range(10): numeros += [count] soma=0 for count in numeros: print(count) soma += count print("Soma: ", soma)
Note que nem precisamos de um novo laço for, usamos o laço que imprime cada item, um por linha.
Exemplo 4 de laço FOR e Listas
Faça um script que exibe uma lista de 10 elementos, contados de 1 até 10.Depois, dobre cada valor dessa lista e exiba. Veja que agora são todos pares.
Preenchemos a lista com valores de 1 até 10, usando range(1,11).
Depois, temos que ir em termo por termo, do índice 0 até o índice 9, para dobrar os valores ali contidos.
Para acessar todos os elementos, vamos usar uma range que vai de 0 até ... o tamanho da lista, que é len(numeros).
numeros = [] for count in range(1,11): numeros += [count] for count in range(len(numeros)): numeros[count] = numeros[count]*2 for count in numeros: print(count)
Poderíamos ter feito apenas: numeros[count] *= 2
Exemplo 5 de laço FOR e Listas
Faça um script que exiba a uma lista que tem os números de 1 até 10, na seguinte maneira:Numero 1: 1
Numero 2: 2
Numero 3: 3
Numero 4: 4
Numero 5: 5
Numero 6: 6
Numero 7: 7
Numero 8: 8
Numero 9: 9
Numero 10: 10
Aqui tem uma pegadinha.
Para imprimir, vamos usar a range( len(numeros) ), assim o laço percorre todos os índices da lista.
Porém, o primeiro índice é 0.
Se printarmos a variável count direto, ia aparecer:
Número 0: 1
Número 1: 2 etc
Ou seja, temos que adicionar 1 na hora de imprimir:
numeros = [] for count in range(1,11): numeros += [count] for count in range(len(numeros)): print("Numero %2d: %2d" %(count+1, numeros[count]))
Exemplo 6 de laço FOR e Listas
Faça um script que peça ao usuário o número de matérias da escola, ou seja, um inteiro positivo.Em seguida, ele vai digitando o valor de cada nota, de cada matéria e isso será armazenado numa lista.Ao final, seu script deverá fornecer a média geral do aluno.Primeiro, perguntamos ao usuário quantas matérias ele fez provas, e armazenamos em n.Depois, criamos uma lista vazia, para as notas, bem como inicializamos a variável soma com valor 0, ela vai somar todas as notas.Dentro do for, temos que preencher n notas, fazemos isso com a função range.Perguntamos cada nota (imprimimos count+1, para os índices aparecerem bonitinho para o usuário, lembre-se que para ele a contagem não começa em 0, como começa para nós programadores) e vamos adicionando cada nota como uma lista, concatenando na lista maior notas.Somamos o valor de soma com cada nota digitada.No final, dividimos o valor dessa soma pelo número de matérias que o aluno fez provas, e temos a média geral dela.Nosso código Python fica:n = int(input("Numero de materias: ")) notas = [] soma=0 for count in range(n): nota=float(input("Nota da materia %2d: " % (count+1))) notas += [nota] soma += nota print("Notas: ",notas) print("Media: %.2f" % (soma/n))
Exercícios Propostos
1. Faça um script que pede ao usuário um número inteiro positivo.Em seguida, deve criar uma lista onde o primeiro termo é 0, o segundo é 1 e os outros são a sequência de Fibonacci. O número de termos é o que o usuário forneceu como número.
2. Faça um script que pede um número inteiro positivo ao usuário.
Em seguida, cria uma lista com igual número de itens, onde o primeiro termo é 1!, o segundo é 2!, o terceiro é o valor de 3!, etc, até o termo que ele digitou. Ou seja, se digitou n, vai exibir até o termo de índice n-1, e lá na lista vai ter o valor de (n-1)!.
Resolução desses exercícios no e-book
1º Exercício proposto:
ResponderExcluirprint('Sequência Fibonacci\n')
termos = int( input('Quantos termos? ') )
seq = []
for c in range(termos):
if(c == 0 or c == 1):
seq.append(c)
else:
seq.append( seq[c-1] + seq[c-2] )
print('\n', seq)
# -*- coding: cp1252 -*-
ResponderExcluir# CALCULANDO A SÉRIE DE FIBONACCI USANDO LISTAS E FUNÇÃO
def fibonacci(n) :
if n == 1 :
return 0
elif n == 2 :
return 1
else :
return fibonacci(n - 1) + fibonacci(n - 2)
n = int(input("NÚMERO DE TERMOS DA SÉRIE."))
fibo = []
for i in range(1,n + 1) :
fibo = [fibonacci(i)]
print("FIBONACCI DE ", i, " É ", fibo)
#ExercicioFibonacciList
ResponderExcluirn=int(input("Digite o número de termos: "))
fibo=[0,1]
for i in range(n-2):
fibo.append(fibo[i]+fibo[i+1])
for j in range (n):
print(fibo[j], end=' ')
#ExercícioFatorialList
ResponderExcluirdef fatorial(n):
if n==1 or n==0:
return 1
else:
return n*fatorial(n-1)
fatlist=[]
n=int (input("Quantos termos? "))
for i in range (n):
fatlist.append(fatorial(i))
print(fatlist[i])
Exercício 1:
ResponderExcluirdef fibonacci(x):
if x == 0:
return 0
elif x == 1:
return 1
else:
return fibonacci(x-1) + fibonacci(x-2)
def menu():
sequencia = []
n = int(input("Insira o delimitador da sequência:"))
while n < 0:
n = int(input("O delimitador da sequência deve ser maior que 0! Tente novamente:"))
for i in range(n):
sequencia.append(fibonacci(i))
print(sequencia)
while True:
menu()