Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Python 05 Listas, Slides de Engenharia de Materiais

Série de slides ensinando a sintaxe da linguagem computacional Python. Por Paulo Esperança, adaptado por Rodrigo Toledo.

Tipologia: Slides

2011

Compartilhado em 23/09/2011

rafael-pinto-24
rafael-pinto-24 🇧🇷

4.3

(6)

8 documentos

1 / 53

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Python:
Python:
listas
listas
Rodrigo de Toledo
(adaptação do original do prof. Claudio Esperança)
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35

Pré-visualização parcial do texto

Baixe Python 05 Listas e outras Slides em PDF para Engenharia de Materiais, somente na Docsity!

Python:Python:

listas listas

Rodrigo de Toledo

(adaptação do original do prof. Claudio Esperança)

Estruturas de dadosEstruturas de dados

 (^) Maneira de organizar dados de maneira a facilitar seu acesso  (^) Algumas formas são clássicas:  (^) Listas  (^) Arrays (vetores e matrizes  (^) Tuplas (registros  (^) Árvores  (^) Linguagens freqüentemente possuem primitivas para construção dessas estruturas de dados  (^) Outras estruturas de dados mais complexas podem ser construídas combinando as estruturas de dados clássicas

Listas em PythonListas em Python

 (^) Entretanto, há diferenças importantes entre listas e strings  Seqüência genérica X de seqüência de caracteres  (^) Elementos de listas podem ser alterados individualmente mas os de strings, não  (^) Listas constituem o tipo de agregação de dados mais versátil e comum da linguagem Python  (^) Podem ser usadas para implementar estruturas de dados mais complexas como matrizes e árvores, por exemplo

Listas: constantes e índicesListas: constantes e índices

 Uma constante do tipo lista é escrita entre

colchetes com os elementos separados por

vírgula:

[] # lista vazia [1,2] # lista com 2 elementos

 Os elementos de uma lista podem ser de

qualquer tipo, inclusive listas. Ex.:

lista = [1, 'a', 'Rodrigo', 3.1415]

 Os elementos de uma lista podem ser

acessados por índices como strings

 (^) O primeiro elemento tem índice 0  (^) O último elemento tem índice -

Listas: Concatenação eListas: Concatenação e

Repetição Repetição

 O operador + pode ser usado para

concatenação e o operador * para repetição

lista = [0]* lista [0, 0, 0, 0] lista = lista + [1]* lista [0, 0, 0, 0, 1, 1, 1]

Inicializando listasInicializando listas

 Não é possível atribuir a uma posição

inexistente de uma lista

vetor = [] vetor [0] = 1 Traceback (most recent call last): File "<pyshell#21>", line 1, in -toplevel- vetor [0] = 1 IndexError: list assignment index out of range

 Se uma lista vai ser usada como um array, isto

é, vai conter um número predeterminado de

elementos, é conveniente iniciá-la

vetor = [0]* vetor [0] = 3 vetor [3, 0, 0, 0, 0, 0, 0, 0, 0, 0]

ExercíciosExercícios

  1. Faça um programa que leia as notas dos 50 alunos de uma turma e diga ao final quais notas ficaram acima da média da turma.
  2. (vetor contador: Faça um programa que leia diversos votos para 100 candidatos (votos entre 0 e 99 e ao final diga qual foi o candidato vencedor (considere que não há empate. Os votos terminam com um número inválido (negativo ou maior que
    1. Obs: Altere o programa de modo a considerar a possibilidade de empates.
  3. Escreva um programa que leia uma lista de x inteiros seguida de uma lista de y caracteres, criando uma terceira lista que intercale os elementos das duas listas lidas  (^) obs1: pergunte ao usuário x e y no início  (^) obs2: a lista que for maior deverá ser repetida sequencialmente ao final  (^) Exemplo: x=3, y=5, l1 = [1,2,3] e l2 = ['a','b','c','d','e'], o programa deve computar a lista [1,'a',2,'b',3,'c','d','e']
  4. DESAFIO: Faça um programa que leia as informações dos 70 produtos de uma farmácia (código, preço e quantidade em estoque. Em seguida permita ao usuário entrar com código e quantidade que deseja comprar do produto até que seja entrado o código –1. Para cada código entrado diminua a quantidade do estoque (caso tenha o suficiente se o código for válido, senão imprima mensagem de erro. Ao final da compra, diga o total a ser pago!

Sobre o desafio...Sobre o desafio...

 Para realizar o desafio anterior, entender os

conceitos de:

 um único índice para diversos vetores  (^) busca do índice

 No futuro será mais fácil tratar esse desafio:

 index(  (^) tuplas

Lista de tamanho indefinidoLista de tamanho indefinido

Lista de tamanho indefenidoLista de tamanho indefenido

 Às vezes não sabemos em tempo de

programação qual deve ser o tamanho da lista

(exemplo: “leia 50 notas” ≠ “leia notas até

uma negativa”.

 Nesse caso a lista deve ir crescendo (ou

diminuindo de acordo com a necessidade.

 Precisaremos de:

 (^) len: para saber tamanho do vetor  (^) del: para retirar um elemento da lista  (^) append: para acrescentar

Len, min e maxLen, min e max

 len ( lista retorna o número de elementos de lista

 min (lista e max (lista retornam o menor/maior

elemento de lista

 Ex.:

lista = [55, 1, 22, 99, 3, 4] min (lista) 1 len (lista) 6 max (lista) 99 max (['a', 'b', 'c']) 'c'

minmin ee maxmax

 Na verdade, min e max podem ser usados também

com vários argumentos ao invés de uma lista

 Ex.:

min (1,2,3,4) 1 max (3,4,5) 5 max ([],[1],['a']) ['a']

ExemploExemplo

 (^) Leia uma sequência de números INTEIROS positivos terminada por um número NEGATIVO, guardando-os num vetor. Remova do vetor os números PARES. Ao final, imprima o vetor! lista = [] num = input() while (num>=0): lista.append(num) num=input() i= while i<len(lista): if lista[i]%2==0: del lista[i] else: i+= print lista

ExercíciosExercícios

  1. Faça o programa do jogo: “Acerte os números”.  (^) Inicialmente, leia diversos números inteiros entrados pelo dono da casa de aposta, guardando numa lista.  (^) Termina com número negativo  (^) Em seguida o apostador poderá entrar com vários números para verificar o seu acerto.  (^) Caso acerte um dos números da lista, informe do acerto e diga quantos números faltam acertar.  (^) O programa termina caso o apostador erre 10 vezes ou até ele acertar todos os números.
  2. Altere o programa anterior para guardar os números sem que haja repetição, ou seja, caso o dono da casa de apostas tenha entrado com um número que já exista, ignore-o.
  3. DESAFIO: Faça um programa que mantenha o estoque do hortifruti Leguminosas. Apresente um menu com as seguintes opções: (a inserir novos produtos (b acrescentar no estoque (c baixar do estoque (d listar produtos com estoque baixo (e listar estoque de todos os produtos (f sair!  (^) Para cada produto inserido, ler nome, código e quantidade inicial  (^) Para acrescentar ou baixar do estoque, ler código e quantidade  (^) Quando der baixa no estoque, verificar se não está negativo, nesse caso, avisar ao usuário que serão baixados apenas a quantidade atual no estoque (zerando esse produto  (^) “Estoque baixo” significa que há apenas 5 ou menos produtos