Apostila de Programação I

Propaganda
Apostila de Programação I
Lab. de Programação de Computadores I
- Parte 1 -
Profa. Flávia Pereira de Carvalho
Julho de 2013
Apostila de Algoritmos e Programação – semestre2
Sumário
Página
1 LISTAS EM PYTHON .......................................................................................................................................................3
1.1 DECLARAR UMA LISTA................................................................................................................................................... 3
1.2 ACESSAR UMA LISTA ..................................................................................................................................................... 4
1.3 MODIFICAR UMA LISTA .................................................................................................................................................. 5
1.4 EXEMPLOS COM LISTAS EM PYTHON .............................................................................................................................. 5
1.5 MAIS EXEMPLOS COM LISTAS: USO DE FATIAS .............................................................................................................. 6
1.6 INICIALIZANDO LISTAS .................................................................................................................................................. 8
1.7 FUNÇÕES PRÉ-DEFINIDAS EM PYTHON .......................................................................................................................... 9
1.8 COMO PREENCHER UMA LISTA USANDO O LAÇO WHILE EM PYTHON .......................................................................... 13
1.9 COMO PREENCHER UMA LISTA USANDO O LAÇO FOR EM PYTHON .............................................................................. 14
1.10 APAGAR ELEMENTOS DE UMA LISTA ......................................................................................................................... 15
1.11 COPIAR LISTAS EM PYTHON ....................................................................................................................................... 17
1.12 COMPARAR LISTAS EM PYTHON ................................................................................................................................. 18
1.13 TRANSFORMAR O RESULTADO DE RANGE EM UMA LISTA .......................................................................................... 19
1.14 LISTAS COM STRINGS: ACESSANDO LETRAS ............................................................................................................... 20
REFERÊNCIAS .................................................................................................................................................................... 21
Profa. Flávia Pereira de Carvalho - [email protected] - http://fit.faccat.br/~fpereira
2
Apostila de Algoritmos e Programação – semestre2
1 Listas em Python
Lista é um tipo de variável que permite armazenar vários valores, acessados individualmente por um
índice. É uma estrutura de dados similar a arrays ou vetores e corresponde a posições de memória,
identificadas por um único nome, individualizadas por índices, onde cada posição possui um conteúdo
chamado de elemento.
O nome de uma variável composta segue as mesmas regras das variáveis simples. O nome referese, coletivamente, a todos os elementos da variável composta. Para referência de um elemento específico
é necessário colocar o nome da variável, seguido de um índice entre colchetes.
Na linguagem Python, uma lista pode conter zero ou mais elementos de um mesmo tipo ou de
tipos diversos, ou ainda pode conter outras listas. O tamanho de uma lista é igual à quantidade de
elementos que ela contém (também chamado de comprimento da lista). As listas podem crescer ou
diminuir com o tempo.
1.1 Declarar uma Lista
>> Como declarar um lista vazia:
p = [ ]
#criando uma lista vazia chamada p
>> Como declarar uma lista com 3 elementos:
Z = [12,7,5]
#criando uma lista chamada z de tamanho 3
Os índices começam em zero, então a lista z acima, tem índices que vão de 0 a 2, ou seja, 0, 1 e
2. A seguir, serão apresentados alguns exemplos para acessar os elementos da lista z, apresentada acima.
Profa. Flávia Pereira de Carvalho - [email protected] - http://fit.faccat.br/~fpereira
3
Apostila de Algoritmos e Programação – semestre2
1.2 Acessar uma Lista
>> Acessando a lista z (do exemplo anterior):
Profa. Flávia Pereira de Carvalho - [email protected] - http://fit.faccat.br/~fpereira
4
Apostila de Algoritmos e Programação – semestre2
1.3 Modificar uma Lista
>> Modificando a lista z (do exemplo anterior):
1.4 Exemplos com Listas em Python
# Definir uma lista (um vetor) chamada nota de tamanho 5
notas = [7.0,8.0,9.5,10.0,6.5]
# Imprimir a todas as notas da lista chamada notas
print(notas)
# Imprimir o primeiro elemento da lista notas
print(notas[0])
# Imprimir a terceira nota do vetor notas (notas é a variável e 2 é o índice, ou seja, a posição no vetor)
print(notas[2])
# Imprimir o último elemento da lista notas
print(notas[-1])
# Imprimir o penúltimo elemento da lista notas
print(notas[-2])
Profa. Flávia Pereira de Carvalho - [email protected] - http://fit.faccat.br/~fpereira
5
Apostila de Algoritmos e Programação – semestre2
Na imagem abaixo estão apresentados resultados dos exemplos vistos acima:
1.5 Mais Exemplos com Listas: uso de Fatias
# Imprimir do segundo item da lista notas em diante (da posição 1 em diante, incluindo a posição 1)
print(notas[1:])
# Imprimir os elementos que estão antes da posição 1 (não inclui a posição 1)
print(notas[:1])
# Imprimir os elementos a partir da posição 2 e antes da posição 4, ou seja, elementos de índices 2 e 3
print(notas[2:4])
#Imprimir os 5 primeiros elementos da lista notas, de 2 em 2
print(notas[0:5:2])
Profa. Flávia Pereira de Carvalho - [email protected] - http://fit.faccat.br/~fpereira
6
Apostila de Algoritmos e Programação – semestre2
Na imagem abaixo estão apresentados resultados dos exemplos vistos acima:
Os elementos de uma lista em Python podem ser acessados separadamente ou em grupos, através
de indexação e corte em fatias. A indexação é feita (como em muitas outras linguagens) pela colocação
do índice entre os colchetes (o primeiro elemento tem índice 0).
O corte em fatias é parecido com a indexação, indicando-se os índices inicial e final separados
por dois pontos (":").
Observe que o índice final não se inclui no resultado. Se um dos índices é omitido, assume-se
que você deseja todos os elementos na direção correspondente. Por exemplo, lista[:3] significa
"cada elemento desde o início da lista até o elemento 3, este não incluído". Já lista[3:] significaria
que "cada elemento da lista, começando do elemento 3 (inclusive) até o último (inclusive)". Para outros
resultados bem interessantes, você pode usar números negativos também: lista[-3] é o terceiro
elemento desde o final da lista (“de trás para frente”).
Profa. Flávia Pereira de Carvalho - [email protected] - http://fit.faccat.br/~fpereira
7
Apostila de Algoritmos e Programação – semestre2
1.6 Inicializando Listas
>> Como zerar uma lista numérica em Python:
# Inicializar com zeros a lista chamada valores de tamanho 5
valores = [0]*5
>> Como criar uma lista de strings vazias em Python:
# Inicializar com strings vazias a lista chamada palavras de tamanho 4
palavras = [""]*4
Profa. Flávia Pereira de Carvalho - [email protected] - http://fit.faccat.br/~fpereira
8
Apostila de Algoritmos e Programação – semestre2
1.7 Funções Pré-Definidas em Python
Vejamos agora algumas funções pré-definidas da Linguagem Python:
len: retorna o tamanho de uma lista (número de elementos, ou comprimento da lista) ou de uma
string (número de caracteres)
>> Alterando listas em Python:
Profa. Flávia Pereira de Carvalho - [email protected] - http://fit.faccat.br/~fpereira
9
Apostila de Algoritmos e Programação – semestre2
append: insere um ou mais elementos no final da lista
Usando o operador + na Linguagem Python funciona da mesma forma que o append:
Profa. Flávia Pereira de Carvalho - [email protected] - http://fit.faccat.br/~fpereira
1
0
Apostila de Algoritmos e Programação – semestre2
>> Inserindo vários elementos no final da lista:
extend: parecida com a função append, pois também insere elementos no final da lista
Profa. Flávia Pereira de Carvalho - [email protected] - http://fit.faccat.br/~fpereira
1
1
Apostila de Algoritmos e Programação – semestre2
A função append adiciona elementos na lista e a função extend expande listas. A função append
permite adicionar listas dentro de listas, enquanto extend é apenas para concatenar listas.
in: permite saber se um elemento está em uma lista (ou string) ou não. Operador in retorna True ou
False.
None: às vezes é necessário preencher um alista ou uma posição da lista com um valor não válido, ou
seja, um valor que não seja de tipo nenhum e para isso usa-se None. É melhor que usar 0 (zero), [ ] ou
uma string vazia (“ “). None é útil para criar uma lista vazia, mas com um número conhecido de
posições. E atenção, pois o comando None deve ser com “N” maiúsculo!
Profa. Flávia Pereira de Carvalho - [email protected] - http://fit.faccat.br/~fpereira
1
2
Apostila de Algoritmos e Programação – semestre2
min
e
max: min(lista) retorna o menor elemento da lista e max(lista) retorna o maior
elemento da lista.
1.8 Como Preencher uma Lista usando o Laço While em Python
Como exemplo, veja abaixo um programa para ler 4 nomes e armazenar em uma lista.
Profa. Flávia Pereira de Carvalho - [email protected] - http://fit.faccat.br/~fpereira
1
3
Apostila de Algoritmos e Programação – semestre2
Resultado de saída do programa acima ao ser executado:
1.9 Como Preencher uma Lista usando o Laço For em Python
Como exemplo, veja abaixo um programa para ler 4 nomes e armazenar em uma lista:
Profa. Flávia Pereira de Carvalho - [email protected] - http://fit.faccat.br/~fpereira
1
4
Apostila de Algoritmos e Programação – semestre2
Resultado de saída do programa acima ao ser executado:
1.10 Apagar Elementos de uma Lista
Profa. Flávia Pereira de Carvalho - [email protected] - http://fit.faccat.br/~fpereira
1
5
Apostila de Algoritmos e Programação – semestre2
O elemento excluído não ocupa mais lugar na lista, fazendo com que os índices sejam
reorganizados, ou seja, que passem a ser calculados sem esse elemento.
Pode-se também apagar fatias (slices) inteiras da lista de uma só vez, como apresentado no
exemplo abaixo:
Tenha em mente que cada elemento de um vetor (uma lista) é uma variável semelhante às outras,
podendo sofrer atribuição, ser passado como parâmetro ou participar como operando em expressões,
desde que você indique qual é o elemento, através do seu índice, ou seja, sua posição no vetor.
A forma de referenciar elementos de vetores é idêntica à maneira de referenciar caracteres
específicos de uma string; na verdade, strings são vetores do tipo char !
Profa. Flávia Pereira de Carvalho - [email protected] - http://fit.faccat.br/~fpereira
1
6
Apostila de Algoritmos e Programação – semestre2
1.11 Copiar Listas em Python
Veremos a seguir que existem duas maneiras de copiar listas na Linguagem Python. No exemplo abaixo,
as duas listas fazem referência ao mesmo endereço de memória, ou seja, quando uma das listas é alterada,
a outra também sofre a mesma alteração. Na verdade, as duas são a mesma lista!
Profa. Flávia Pereira de Carvalho - [email protected] - http://fit.faccat.br/~fpereira
1
7
Apostila de Algoritmos e Programação – semestre2
Agora vejamos outra maneira de copiar listas, sendo que agora sim será realmente feita uma cópia e uma
nova lista é criada. Veja no exemplo a seguir:
1.12 Comparar Listas em Python
Se duas listas são iguais até o k-ésimo elemento, o resultado da comparação depende da comparação
entre os (k+1)-ésimos elementos. Se alguma das listas que estão sendo comparadas tem somente k
elementos, então esta é a menor.
Duas listas são iguais se e somente se tiverem o mesmo comprimento e todos os elementos de
mesmas posições forem iguais.
Uma lista é maior que um número, mas menor que uma string.
Profa. Flávia Pereira de Carvalho - [email protected] - http://fit.faccat.br/~fpereira
1
8
Apostila de Algoritmos e Programação – semestre2
1.13 Transformar o resultado de Range em uma Lista
Profa. Flávia Pereira de Carvalho - [email protected] - http://fit.faccat.br/~fpereira
1
9
Apostila de Algoritmos e Programação – semestre2
1.14 Listas com Strings: acessando Letras
Profa. Flávia Pereira de Carvalho - [email protected] - http://fit.faccat.br/~fpereira
2
0
Apostila de Algoritmos e Programação – semestre2
Referências
Para elaboração e construção desta apostila foram consultados vários tipos de materiais, como por
exemplo: livros, outras apostilas, páginas web etc.
Esperança, Claudio. Python: Listas. Disponível em:
http://www.lcg.ufrj.br/Cursos/algprog/Programando%20em%20Python%20-%20Listas.pdf.
Acesso em: Julho/2013
Python.org. Disponível em:
http://docs.python.org/3/tutorial/introduction.html#lists. Acesso em: Julho/2013
Steinmacher, Igor. Vetores (Listas). Disponível em:
http://www.igor.pro.br/utfpr/arquivos/ea31b/EA31B-Aula07.pdf. Acesso em: Julho/2013
Profa. Flávia Pereira de Carvalho - [email protected] - http://fit.faccat.br/~fpereira
2
1
Download