SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
Introdução a Algoritmos e
Linguagens de Programação
         Aula 15 | Organizando os dados com listas




             Apresentação
       Luiz Augusto de M. Morais
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
Listas
Vários dados
numa ú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
      print(fruta1)              frutas??
      print(fruta2)
      print(fruta3)




                        UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
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
Listas
Listas se comportam
como strings




         UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
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
Listas
Listas têm
particularidades




         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 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
Listas
Usando o interpretador




          UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
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
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
Campeonato de futebol freestyle
Entendendo
o problema




           UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Entendendo o problema

Como os estudantes do curso IALP são bons de bola,
resolvemos organizar um campeonato de futebol freestyle.

Nós já estamos com as pontuações
dos jogadores.
O problema é que muita gente
participou e, assim, fica difícil saber
quem ganhou.




                               UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Campeonato de futebol freestyle
Maior 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 diga quem obteve a maior pontuação.




                         UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
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
Campeonato de futebol freestyle
Test Drive




             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Campeonato de futebol freestyle
Separando
os 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?

                   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
Campeonato de futebol freestyle
Usando o interpretador




                 UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
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
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
Campeonato de futebol freestyle
Test Drive




             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Campeonato de futebol freestyle
Os 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 os três
    primeiros colocados.




                         UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
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
Campeonato de futebol freestyle
Test Drive




             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Campeonato de futebol freestyle
Colocando na
ordem 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 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
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
Campeonato de futebol freestyle
Test Drive




             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Campeonato de futebol freestyle
Quem ganhou?




             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
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
Campeonato de futebol freestyle
Perguntas 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 listas?




                             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
O que aprendemos hoje?


    ●
      Listas
    ●
      Métodos:
       ●
         sort
       ●
         append
       ●
         extend




                    UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Referências

DOWNEY, 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

Weitere ähnliche Inhalte

Mehr von Luiz Augusto Macêdo Morais (11)

Aula 11 - Começando a programar: Condicionais
Aula 11 - Começando a programar: CondicionaisAula 11 - Começando a programar: Condicionais
Aula 11 - Começando a programar: Condicionais
 
Aula 10 - Estruturas de repeticao
Aula 10 - Estruturas de repeticaoAula 10 - Estruturas de repeticao
Aula 10 - Estruturas de repeticao
 
Aula 9 - Estruturas Condicionais
Aula 9 - Estruturas CondicionaisAula 9 - Estruturas Condicionais
Aula 9 - Estruturas Condicionais
 
Aula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e SaídaAula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e Saída
 
Aula 7 - Expressões Aritméticas e Lógicas
Aula 7 - Expressões Aritméticas e LógicasAula 7 - Expressões Aritméticas e Lógicas
Aula 7 - Expressões Aritméticas e Lógicas
 
Aula 5 - Tipos de dados
Aula 5 - Tipos de dadosAula 5 - Tipos de dados
Aula 5 - Tipos de dados
 
Aula 6 - Constantes e variáveis
Aula 6 - Constantes e variáveisAula 6 - Constantes e variáveis
Aula 6 - Constantes e variáveis
 
Aula 4 - Introducão a algoritmos
Aula 4 - Introducão a algoritmosAula 4 - Introducão a algoritmos
Aula 4 - Introducão a algoritmos
 
Aula 2 - Histórico da Computação e OAC
Aula 2 - Histórico da Computação e OACAula 2 - Histórico da Computação e OAC
Aula 2 - Histórico da Computação e OAC
 
Aula 1 - Apresentação
Aula 1 - ApresentaçãoAula 1 - Apresentação
Aula 1 - Apresentação
 
Otimizador de Rotas - PythonBrasil[6]
Otimizador de Rotas - PythonBrasil[6]Otimizador de Rotas - PythonBrasil[6]
Otimizador de Rotas - PythonBrasil[6]
 

Kürzlich hochgeladen

O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
lenapinto
 

Kürzlich hochgeladen (20)

M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
Novena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João EudesNovena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João Eudes
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
Slides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exerciciosSlides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exercicios
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União Europeia
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 

Aula 15 - Organizando os dados com listas

  • 1. Introdução a Algoritmos e Linguagens de Programação Aula 15 | Organizando os dados com listas Apresentação Luiz Augusto de M. Morais
  • 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. Listas Vários dados numa única variável UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 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. 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. Listas Listas se comportam como strings UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 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. Listas Listas têm particularidades UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 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. Listas Usando o interpretador UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 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. 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. Campeonato de futebol freestyle Entendendo o problema UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 14. Entendendo o problema Como os estudantes do curso IALP são bons de bola, resolvemos organizar um campeonato de futebol freestyle. Nós já estamos com as pontuações dos jogadores. O problema é que muita gente participou e, assim, fica difícil saber quem ganhou. UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 15. Campeonato de futebol freestyle Maior placar UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 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. 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. Campeonato de futebol freestyle Test Drive UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 19. Campeonato de futebol freestyle Separando os nomes e placares UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 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. Campeonato de futebol freestyle Usando o interpretador UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 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. 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. Campeonato de futebol freestyle Test Drive UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 25. Campeonato de futebol freestyle Os três primeiros UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 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. 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. Campeonato de futebol freestyle Test Drive UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 29. Campeonato de futebol freestyle Colocando na ordem certa UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 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. 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. Campeonato de futebol freestyle Test Drive UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 33. Campeonato de futebol freestyle Quem ganhou? UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 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. Campeonato de futebol freestyle Perguntas Idiotas UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 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. O que aprendemos hoje? ● Listas ● Métodos: ● sort ● append ● extend UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 38. Referências DOWNEY, 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