O slideshow foi denunciado.
Introdução a Algoritmos eLinguagens de Programação         Aula 15 | Organizando os dados com listas             Apresenta...
Roteiro  Listas     ●      Vários dados numa única variável     ●      Listas se comportam como strings     ●      Listas ...
ListasVários dadosnuma única variável         UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Vários dados numa única variável      fruta1 = pera      fruta2 = uva      fruta3 = maça            E se fossem 10      pr...
Vários dados numa única variável     frutas = [pera, uva, maça, melão, manga,     abacaxi, morango, caju, melancia, tomate...
ListasListas se comportamcomo strings         UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Listas se comportam como strings     frutas_vermelhas = [maça, morango, tomate]     frutas_amarelas = [pera, melão, manga,...
ListasListas têmparticularidades         UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Listas têm particularidades       notas = [9.2, 5.6, 7.9, 4.3, 5]       notas[0] = 6                    Podemos atribuir v...
ListasUsando o interpretador          UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Usando o Interpretador 1/2   >>> carros = [Ferrari, Gol, Fusca]   >>> for carro in carros:   ...     print(carro)   ...   ...
Usando o Interpretador 2/2   >>> carros = [Ferrari, Gol, Fusca]   >>> motos = [Biz, CB500]   >>> veiculos = carros + motos...
Campeonato de futebol freestyleEntendendoo problema           UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Entendendo o problemaComo os estudantes do curso IALP são bons de bola,resolvemos organizar um campeonato de futebol frees...
Campeonato de futebol freestyleMaior placar             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Maior placar    Seu objetivo é desenvolver um programa que    extraia o placar dos jogadores de um arquivo e    depois dig...
Maior placar                                                      Converte algo para                                      ...
Campeonato de futebol freestyleTest Drive             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Campeonato de futebol freestyleSeparandoos nomes e placares              UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Separando os nomes e placares    O programa anterior não funcionou. O que será    que aconteceu de errado?                ...
Campeonato de futebol freestyleUsando o interpretador                 UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Usando o Interpretador   >>> help(split)   >>> frase = Meu nome é Luiz   >>> palavras = frase.split()   >>> print(palavras...
Separando os nomes e placares                                                      Divide uma string    maior_placar = 0  ...
Campeonato de futebol freestyleTest Drive             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Campeonato de futebol freestyleOs três primeiros             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Os três primeiros    Ok, já temos o maior placar, mas temos três    medalhas.    Modifique o programa para que ele exiba o...
Os três primeiros                                              Cria uma lista vazia     placares = []     resultado = open...
Campeonato de futebol freestyleTest Drive             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Campeonato de futebol freestyleColocando naordem certa             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Colocando na ordem certa    Ôpa! Tem alguma coisa errada com o resultado.    Como o segundo lugar pode ter menos pontos qu...
Colocando na ordem certa    placares = []    resultado = open(resultado.txt)    for linha in resultado:        nome, placa...
Campeonato de futebol freestyleTest Drive             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Campeonato de futebol freestyleQuem ganhou?             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Quem ganhou?                                                            Cadê o                                            ...
Campeonato de futebol freestylePerguntas Idiotas             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Perguntas Idiotas ●  Quando devo usar listas? ●  Por que sort é pra ordenar e não sortear?? ●  Posso fazer mais coisas com...
O que aprendemos hoje?    ●      Listas    ●      Métodos:       ●         sort       ●         append       ●         ext...
ReferênciasDOWNEY, Allen. Think Python: How to Think Like a Computer Scientist.Needham: Green Tea Press, 2008.SWEIGART, Al...
Próximos SlideShares
Carregando em…5
×

Aula 15 - Organizando os dados com listas

954 visualizações

Publicada em

Publicada em: Educação
  • Seja o primeiro a comentar

Aula 15 - Organizando os dados com listas

  1. 1. Introdução a Algoritmos eLinguagens de Programação Aula 15 | Organizando os dados com listas Apresentação Luiz Augusto de M. Morais
  2. 2. Roteiro Listas ● Vários dados numa única variável ● Listas se comportam como strings ● Listas têm particularidades ● Usando o interpretador Campeonato de futebol freestyle ● Entendendo o problema ● Maior placar ● Separando os nomes e placares ● Os três primeiros ● Colocando na ordem certa ● Quem ganhou? UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  3. 3. ListasVários dadosnuma única variável UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  4. 4. Vários dados numa única variável fruta1 = pera fruta2 = uva fruta3 = maça E se fossem 10 print(fruta1) frutas?? print(fruta2) print(fruta3) UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  5. 5. Vários dados numa única variável frutas = [pera, uva, maça, melão, manga, abacaxi, morango, caju, melancia, tomate] for fruta in frutas: print(fruta) Tudo isso em apenas 4 linhas!! E com apenas uma variável UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  6. 6. ListasListas se comportamcomo strings UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  7. 7. Listas se comportam como strings frutas_vermelhas = [maça, morango, tomate] frutas_amarelas = [pera, melão, manga, caju] frutas = frutas_vermelhas + frutas_amarelas print(frutas[0]) print(frutas[-1]) print(len(frutas)) UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  8. 8. ListasListas têmparticularidades UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  9. 9. Listas têm particularidades notas = [9.2, 5.6, 7.9, 4.3, 5] notas[0] = 6 Podemos atribuir valores notas.append(5.4) Podemos adicionar valores notas.extend([1, 2, 3]) Podemos incorporar listas notas.sort() Podemos ordenar elementos print(notas) lista_mista = [1, 5.6, True, Olá, mundo!, [1, 2]] Listas podem conter Inclusive outras listas diferentes tipos de dados UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  10. 10. ListasUsando o interpretador UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  11. 11. Usando o Interpretador 1/2 >>> carros = [Ferrari, Gol, Fusca] >>> for carro in carros: ... print(carro) ... Ferrari Gol Fusca >>> carros[1] Gol >>> carros[-1] Fusca UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  12. 12. Usando o Interpretador 2/2 >>> carros = [Ferrari, Gol, Fusca] >>> motos = [Biz, CB500] >>> veiculos = carros + motos >>> print(veiculos) [Ferrari, Gol, Fusca, Biz, CB500] >>> veiculos[0] = Ônibus >>> marinhos = [Barco, Lancha] >>> veiculos.extend(marinhos) >>> veiculos.append(Tanque de Guerra) >>> print(veiculos) [Ônibus, Gol, Fusca, Biz, CB500, Barco, Lancha, Tanque de Guerra] UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  13. 13. Campeonato de futebol freestyleEntendendoo problema UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  14. 14. Entendendo o problemaComo os estudantes do curso IALP são bons de bola,resolvemos organizar um campeonato de futebol freestyle.Nós já estamos com as pontuaçõesdos jogadores.O problema é que muita genteparticipou e, assim, fica difícil saberquem ganhou. UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  15. 15. Campeonato de futebol freestyleMaior placar UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  16. 16. Maior placar Seu objetivo é desenvolver um programa que extraia o placar dos jogadores de um arquivo e depois diga quem obteve a maior pontuação. UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  17. 17. Maior placar Converte algo para ponto flutuante maior_placar = 0 resultado = open(resultado.txt) for placar in resultado: if float(placar) > maior_placar: maior_placar = float(placar) resultado.close() print(O maior placar foi: %1.1f % maior_placar) UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  18. 18. Campeonato de futebol freestyleTest Drive UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  19. 19. Campeonato de futebol freestyleSeparandoos nomes e placares UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  20. 20. Separando os nomes e placares O programa anterior não funcionou. O que será que aconteceu de errado? Nome Placar Adênio 8.9 Carlos 3.6 Edmarques 7.3 Dênis 3.0 Tentamos converter a linha toda para float. Temos que separar os nomes dos placares! UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  21. 21. Campeonato de futebol freestyleUsando o interpretador UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  22. 22. Usando o Interpretador >>> help(split) >>> frase = Meu nome é Luiz >>> palavras = frase.split() >>> print(palavras) [Meu, nome, é, Luiz] >>> nome, placar = Luiz 10.split() >>> print(nome) Luiz >>> print(placar) 10 UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  23. 23. Separando os nomes e placares Divide uma string maior_placar = 0 resultado = open(resultado.txt) for linha in resultado: nome, placar = linha.split() if float(placar) > maior_placar: maior_placar = float(placar) resultado.close() print(O maior placar foi: %1.1f % maior_placar) UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  24. 24. Campeonato de futebol freestyleTest Drive UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  25. 25. Campeonato de futebol freestyleOs três primeiros UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  26. 26. Os três primeiros Ok, já temos o maior placar, mas temos três medalhas. Modifique o programa para que ele exiba os três primeiros colocados. UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  27. 27. Os três primeiros Cria uma lista vazia placares = [] resultado = open(resultado.txt) for linha in resultado: nome, placar = linha.split() placares.append(float(placar)) Adiciona um elemento na lista resultado.close() print(Os três maiores placares foram:) print(1) %1.1f % placares[0]) print(2) %1.1f % placares[1]) print(3) %1.1f % placares[2]) UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  28. 28. Campeonato de futebol freestyleTest Drive UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  29. 29. Campeonato de futebol freestyleColocando naordem certa UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  30. 30. Colocando na ordem certa Ôpa! Tem alguma coisa errada com o resultado. Como o segundo lugar pode ter menos pontos que o terceiro? 1) 8.9 2) 3.6 3) 7.3 Alguém lembrou de ordenar os valores desta lista? Lembre-se: o método sort() ordena na ordem crescente. UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  31. 31. Colocando na ordem certa placares = [] resultado = open(resultado.txt) for linha in resultado: nome, placar = linha.split() placares.append(float(placar)) resultado.close() Ordenando a lista em placares.sort(reverse=True) ordem decrescente print(Os três maiores placares foram:) print(1) %1.1f % placares[0]) print(2) %1.1f % placares[1]) print(3) %1.1f % placares[2]) UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  32. 32. Campeonato de futebol freestyleTest Drive UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  33. 33. Campeonato de futebol freestyleQuem ganhou? UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  34. 34. Quem ganhou? Cadê o Cadê o vencedor, mano?! vencedor, mano?! Ôba, já temos os resultados dos vencedores. 1) 9.2 2) 8.9 3) 8.8 Espera um minuto. Mas cadê os nomes dos vencedores??? UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  35. 35. Campeonato de futebol freestylePerguntas Idiotas UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  36. 36. Perguntas Idiotas ● Quando devo usar listas? ● Por que sort é pra ordenar e não sortear?? ● Posso fazer mais coisas com listas? UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  37. 37. O que aprendemos hoje? ● Listas ● Métodos: ● sort ● append ● extend UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  38. 38. ReferênciasDOWNEY, Allen. Think Python: How to Think Like a Computer Scientist.Needham: Green Tea Press, 2008.SWEIGART, Al. Invent Your Own Computer Games with Python.2. ed. [S. l. : s. n.]. 2010. UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETO HERMES

×