SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
Introdução a Algoritmos e
Linguagens de Programação
                 Aula 13 | Trabalhando com strings




             Apresentação
       Luiz Augusto de M. Morais
Roteiro

   Strings
      ●
       Uma sequência de caracteres
      ●
       Usando o interpretador
      ●
       Repetindo cada elemento

                    Mensagem secreta
                       ●
                        Entendendo o problema
                       ●
                        Cifra de César
                       ●
                        Código ASCII
                       ●
                        Primeira tentativa
                       ●
                        Escolhendo a chave certa
                       ●
                        Segunda tentativa

                           UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Strings
Uma sequência
de caracteres




          UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Uma sequência de caracteres

         Caractere




    'Olá, mundo!'
        0   1    2 3 4    5 6 7 8                9 10


                              Índice da string




                         UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Uma sequência de caracteres



       nome = 'Luiz Augusto'
       sobrenome = 'Macedo Morais'
       nome_completo = nome + ' ' + sobrenome                  Juntando
                                                               strings
       print(nome_completo)
       tamanho_nome = len(nome_completo)
       print(tamanho_nome)
       primeira_letra = nome[0]
       print(primeira_letra)


                                                     Sabendo o
                       Acessando o                   tamanho da string
                       índice da string


                              UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Strings
Usando o interpretador




          UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Usando o Interpretador 1/3



   >>> nome = 'Luiz Augusto'
   >>> sobrenome = 'Macedo Morais'
   >>> nome_completo = nome + ' ' + sobrenome
   >>> nome_completo
   'Luiz Augusto Macedo Morais'
   >>> len(nome_completo)
   26
   >>> primeira_letra, ultima_letra = nome[0], nome[-1]
   >>> primeira_letra
   'L'
   >>> ultima_letra
   'o'




                             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Usando o Interpretador 2/3



   >>> nome = 'Luiz'
   >>> nome[1] = 'a'
   Traceback (most recent call last):
     File "<stdin>", line 1, in <module>
   TypeError: 'str' object does not support item assignment
   >>> novo_nome = nome.replace('u', 'a')
   >>> novo_nome
   'Laiz'
   >>> nome
   'Luiz'




                             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Usando o Interpretador 3/3



   >>> nome = 'Luiz'
   >>> indice = 0
   >>> while indice < len(nome):
   ...    print(nome[indice])
   ...    indice += 1
   ...
   L
   u
   i
   z




                             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Strings
Repetindo
cada elemento




          UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Repetindo cada elemento




 nome = 'Luiz'                     nome = 'Luiz'
 indice = 0                        for letra in nome:
 while indice < len(nome):             print(letra)
     print(nome[indice])
     indice += 1




                             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Strings
Usando o interpretador




          UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Usando o Interpretador 1/2



   >>> nome = 'Luiz Augusto'
   >>> for letra in nome:
   ...    print(letra)
   ...
   L
   u
   i
   z




                               UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Usando o Interpretador 2/2



   >>> prefixos = 'CPMN'
   >>> sufixo = 'ão'
   >>> for prefixo in prefixos:
   ...    print(prefixo + sufixo)
   ...
   Cão
   Pão
   Mão
   Não




                             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Mensagem secreta
Entendendo
o problema




       UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Entendendo o problema

Você é um membro da APE (Associação de Programadores
Espiões) e tem uma vida dupla.

Além de ser programador durante
o dia, ainda passa as madrugadas
no quartel general capturando
informações valiosas de prováveis
inimigos do Estado.
Esta semana você tem uma nova
missão...



                            UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Entendendo o problema


  Você conseguiu interceptar         uma       mensagem
  criptografada do inimigo.
  Seu objetivo é desenvolver um programa que consiga
  descriptografar a mensagem antes que aconteça uma
  tragédia.
  Uma pista: seu colega disse que a mensagem se
  parece com uma cifra de César. Investigue isso.




                          UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Mensagem secreta
Cifra de César




        UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Cifra de César | História

●
 É um tipo muito simples de criptografia, no qual as letras
são substituídas por outras próximas, com um número fixo
de “casas”;
●
 Júlio César usou para se comunicar com seus generais;
●
 Muito fácil de ser quebrada;




                                UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Cifra de César | Como funciona



           Y   Z   A   B     C     D      E      F




           Y   Z   A   B     C     D      E      F

                       chave = 2



                       UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Mensagem secreta
Código ASCII




        UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Código ASCII


   Finalmente você teve acesso à mensagem e descobriu
   que todos os elementos da mensagem estão
   presentes na tabela ASCII.

  Mensagem secreta

   Whyhiðuz(']vjñ'jvuzln|
   p|'klzjypw{vnyhmhy'lz{h'tluzhnlt5Wvy'jh|
   zh'kpzzv'}vjñ'nhuohyè'|t'h|
   tlu{v5HzzpuhkvA'Jolml5




                          UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Código ASCII


   ASCII significa American Standard Code for
   Information Interchange, ou Código Padrão
   Americano para o Intercâmbio de Informação.
   A tabela ASCII contém os caracteres que são
   utilizados para representar o texto em computadores.


   Para saber mais informações sobre o código ASCII,
   acesse a página da tabela na Wikipedia.




                           UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Código ASCII


   Em Python, existem duas funções para manipular
   caracteres da tabela ASCII.


   ord: Recebe um caractere e retorna o número
   correspondente na tabela.
   chr: Recebe um número e retorna o caractere
   correspondente na tabela.




                        UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Mensagem secreta
Usando o interpretador




               UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Usando o Interpretador 1/2



      letra = 'a'
      numero = ord(letra)
      numero
   97
      nova_letra = chr(numero + 2)
      nova_letra
   'c'




                               UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Usando o Interpretador 2/2



    palavra = 'ialp'
    for letra in palavra:
   ...    print('%s: %d' % (letra, ord(letra)))
   ...
   i: 105
   a: 97
   l: 108
   p: 112




                             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Mensagem secreta
Primeira tentativa




           UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Primeira tentativa

        Abrindo o arquivo
        mensagem.txt


arquivo = open('mensagem.txt')
                                                             Lendo o conteúdo
mensagem = arquivo.read()                                    do arquivo
arquivo.close()                   Fechando o
nova_mensagem = ''                arquivo
for letra in mensagem:
    nova_mensagem += chr(ord(letra) - 2)                     Trocando as letras
print('Possível mensagem: %s' % (chave, nova_mensagem))




                                UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Mensagem secreta
Test Drive




      UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Segunda tentativa


   Nós já descobrimos que a mensagem possui
   caracteres da tabela ASCII e que foi criptografada por
   meio da cifra de César.
   No entanto, não sabemos qual é a chave empregada
   na cifra. Por isso, vamos tentar descriptografar por
   força bruta.




                           UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Segunda tentativa

   MAX_CHAVES = 10                            Número máximo
                                              de chaves
   arquivo = open('mensagem.txt')
   mensagem = arquivo.read()
   arquivo.close()
   chave = 1
                                            Repetindo até o nº
   while chave = MAX_CHAVES:
                                            máximo de chaves
       nova_mensagem = ''
       for letra in mensagem:
           nova_mensagem += chr(ord(letra) - chave)
       print('Chave %d: %sn' % (chave, nova_mensagem))
       chave += 1
                                 Mostrando a
                                 mensagem gerada a
                                 partir de cada chave

                               UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Mensagem secreta
Test Drive




      UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Mensagem secreta
Perguntas Idiotas




           UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Perguntas Idiotas


 ●
  Por que eu não posso modificar o valor de uma string?
 ●
  É melhor usar a estrutura for ao invés do while?
 ●
  Por que eu tenho que fechar o arquivo?




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


    ●
      String
    ●
      Estrutura de repetição for
    ●
      Funções:
       ● len()

       ● ord()

       ● chr()

       ● open()




                            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

Was ist angesagt?

Videoulas de algoritmos e lógica de programação
Videoulas de algoritmos e lógica de programaçãoVideoulas de algoritmos e lógica de programação
Videoulas de algoritmos e lógica de programaçãoaldoirjava
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Gercélia Ramos
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Robson Ferreira
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosMario Jorge Pereira
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem Capolllorj
 
Curso de Delphi - Linguagem Pascal
Curso de Delphi - Linguagem PascalCurso de Delphi - Linguagem Pascal
Curso de Delphi - Linguagem PascalJosé Araújo
 
Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula02Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula02André Phillip Bertoletti
 
Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08André Phillip Bertoletti
 
Curso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de ProgramacaoCurso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de ProgramacaoJosé Araújo
 
Curso de Delphi - Lógica de Programação 2
Curso de Delphi - Lógica de Programação 2Curso de Delphi - Lógica de Programação 2
Curso de Delphi - Lógica de Programação 2José Araújo
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Leonardo Melo Santos
 
Conceitos e técnicas de programação aula 1
Conceitos e técnicas de programação aula 1Conceitos e técnicas de programação aula 1
Conceitos e técnicas de programação aula 1Robson Ferreira
 
A linguagem de programação c
A linguagem de programação cA linguagem de programação c
A linguagem de programação cClausia Antoneli
 
Conceitos e técnicas de programação introdução
Conceitos e técnicas de programação introduçãoConceitos e técnicas de programação introdução
Conceitos e técnicas de programação introduçãoRobson Ferreira
 
Conceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentaçãoConceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentaçãoRobson Ferreira
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 

Was ist angesagt? (20)

Videoulas de algoritmos e lógica de programação
Videoulas de algoritmos e lógica de programaçãoVideoulas de algoritmos e lógica de programação
Videoulas de algoritmos e lógica de programação
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Curso de Delphi - Linguagem Pascal
Curso de Delphi - Linguagem PascalCurso de Delphi - Linguagem Pascal
Curso de Delphi - Linguagem Pascal
 
Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula02Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula02
 
Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08
 
Algoritmos - Procedimentos
Algoritmos - ProcedimentosAlgoritmos - Procedimentos
Algoritmos - Procedimentos
 
Curso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de ProgramacaoCurso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de Programacao
 
Curso de Delphi - Lógica de Programação 2
Curso de Delphi - Lógica de Programação 2Curso de Delphi - Lógica de Programação 2
Curso de Delphi - Lógica de Programação 2
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#
 
Conceitos e técnicas de programação aula 1
Conceitos e técnicas de programação aula 1Conceitos e técnicas de programação aula 1
Conceitos e técnicas de programação aula 1
 
A linguagem de programação c
A linguagem de programação cA linguagem de programação c
A linguagem de programação c
 
Algoritimo - Raul
Algoritimo - RaulAlgoritimo - Raul
Algoritimo - Raul
 
Conceitos e técnicas de programação introdução
Conceitos e técnicas de programação introduçãoConceitos e técnicas de programação introdução
Conceitos e técnicas de programação introdução
 
Conceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentaçãoConceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentação
 
Algoritmos - Pascal
Algoritmos - PascalAlgoritmos - Pascal
Algoritmos - Pascal
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 

Ähnlich wie Aula 13 - Trabalhando com strings

Paradigmas de Linguagens de Programação - Tipos primitivos e compostos
Paradigmas de Linguagens de Programação - Tipos primitivos e compostosParadigmas de Linguagens de Programação - Tipos primitivos e compostos
Paradigmas de Linguagens de Programação - Tipos primitivos e compostosAdriano Teixeira de Souza
 
Estrutura de Dados - Características da linguagem C - 1
Estrutura de Dados - Características da linguagem C - 1Estrutura de Dados - Características da linguagem C - 1
Estrutura de Dados - Características da linguagem C - 1Adriano Teixeira de Souza
 
Aula de programacao_final.dizando
Aula de programacao_final.dizandoAula de programacao_final.dizando
Aula de programacao_final.dizandoJoão Gomes
 
Introdução a programação
Introdução a programaçãoIntrodução a programação
Introdução a programaçãoGustavo Nazário
 
Aula2 ambientação a linguagem deprogramação python
Aula2   ambientação a linguagem deprogramação pythonAula2   ambientação a linguagem deprogramação python
Aula2 ambientação a linguagem deprogramação pythonCleyton Fábio
 
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Os Fantasmas !
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptRodrigo Branas
 
Estruturação de Linguagens de Programação (Pascal e C++)
Estruturação de Linguagens de Programação (Pascal e C++)Estruturação de Linguagens de Programação (Pascal e C++)
Estruturação de Linguagens de Programação (Pascal e C++)Mauricio Volkweis Astiazara
 
Curso de introdução ao ruby
Curso de introdução ao rubyCurso de introdução ao ruby
Curso de introdução ao rubyFrancis Wagner
 
StringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões RegularesStringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões RegularesGabriel Matheus
 
StringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões RegularesStringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões RegularesSidneyCruz
 
Estrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem CEstrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem CAdriano Teixeira de Souza
 
Introdução a Python - Python Poli
Introdução a Python  - Python PoliIntrodução a Python  - Python Poli
Introdução a Python - Python PoliRodrigo Lira
 

Ähnlich wie Aula 13 - Trabalhando com strings (20)

Paradigmas de Linguagens de Programação - Tipos primitivos e compostos
Paradigmas de Linguagens de Programação - Tipos primitivos e compostosParadigmas de Linguagens de Programação - Tipos primitivos e compostos
Paradigmas de Linguagens de Programação - Tipos primitivos e compostos
 
Python2.5.ppt
Python2.5.pptPython2.5.ppt
Python2.5.ppt
 
Aprendendo ruby
Aprendendo rubyAprendendo ruby
Aprendendo ruby
 
Javafx Introdução
Javafx IntroduçãoJavafx Introdução
Javafx Introdução
 
Estrutura de Dados - Características da linguagem C - 1
Estrutura de Dados - Características da linguagem C - 1Estrutura de Dados - Características da linguagem C - 1
Estrutura de Dados - Características da linguagem C - 1
 
Aula de programacao_final.dizando
Aula de programacao_final.dizandoAula de programacao_final.dizando
Aula de programacao_final.dizando
 
Introdução a programação
Introdução a programaçãoIntrodução a programação
Introdução a programação
 
Aula2 ambientação a linguagem deprogramação python
Aula2   ambientação a linguagem deprogramação pythonAula2   ambientação a linguagem deprogramação python
Aula2 ambientação a linguagem deprogramação python
 
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScript
 
Estruturação de Linguagens de Programação (Pascal e C++)
Estruturação de Linguagens de Programação (Pascal e C++)Estruturação de Linguagens de Programação (Pascal e C++)
Estruturação de Linguagens de Programação (Pascal e C++)
 
Curso de introdução ao ruby
Curso de introdução ao rubyCurso de introdução ao ruby
Curso de introdução ao ruby
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
programação c 8 9_aula
programação c 8 9_aulaprogramação c 8 9_aula
programação c 8 9_aula
 
StringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões RegularesStringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões Regulares
 
StringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões RegularesStringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões Regulares
 
Python
PythonPython
Python
 
Estrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem CEstrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem C
 
Introdução a Python - Python Poli
Introdução a Python  - Python PoliIntrodução a Python  - Python Poli
Introdução a Python - Python Poli
 
Aula 2 aed - pseudocódigo
Aula 2   aed - pseudocódigoAula 2   aed - pseudocódigo
Aula 2 aed - pseudocódigo
 

Mehr von Luiz Augusto Macêdo Morais (13)

SBIE 2014 - Student's satisfaction with Mastery Learning in an Introductory ...
SBIE 2014 -  Student's satisfaction with Mastery Learning in an Introductory ...SBIE 2014 -  Student's satisfaction with Mastery Learning in an Introductory ...
SBIE 2014 - Student's satisfaction with Mastery Learning in an Introductory ...
 
Minicurso: Python e suas baterias incluídas
Minicurso: Python e suas baterias incluídasMinicurso: Python e suas baterias incluídas
Minicurso: Python e suas baterias incluídas
 
Expressões Regulares: Teoria e Prática
Expressões Regulares: Teoria e PráticaExpressões Regulares: Teoria e Prática
Expressões Regulares: Teoria e Prática
 
Aula 15 - Organizando os dados com listas
Aula 15 - Organizando os dados com listasAula 15 - Organizando os dados com listas
Aula 15 - Organizando os dados com listas
 
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 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

Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
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.pdfTutor de matemática Ícaro
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médiorosenilrucks
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
Bloco de português com artigo de opinião 8º A, B 3.docx
Bloco de português com artigo de opinião 8º A, B 3.docxBloco de português com artigo de opinião 8º A, B 3.docx
Bloco de português com artigo de opinião 8º A, B 3.docxkellyneamaral
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTailsonSantos1
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfHELENO FAVACHO
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxMauricioOliveira258223
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSOLeloIurk1
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 

Kürzlich hochgeladen (20)

Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
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
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
Bloco de português com artigo de opinião 8º A, B 3.docx
Bloco de português com artigo de opinião 8º A, B 3.docxBloco de português com artigo de opinião 8º A, B 3.docx
Bloco de português com artigo de opinião 8º A, B 3.docx
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptx
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 

Aula 13 - Trabalhando com strings

  • 1. Introdução a Algoritmos e Linguagens de Programação Aula 13 | Trabalhando com strings Apresentação Luiz Augusto de M. Morais
  • 2. Roteiro Strings ● Uma sequência de caracteres ● Usando o interpretador ● Repetindo cada elemento Mensagem secreta ● Entendendo o problema ● Cifra de César ● Código ASCII ● Primeira tentativa ● Escolhendo a chave certa ● Segunda tentativa UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 3. Strings Uma sequência de caracteres UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 4. Uma sequência de caracteres Caractere 'Olá, mundo!' 0 1 2 3 4 5 6 7 8 9 10 Índice da string UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 5. Uma sequência de caracteres nome = 'Luiz Augusto' sobrenome = 'Macedo Morais' nome_completo = nome + ' ' + sobrenome Juntando strings print(nome_completo) tamanho_nome = len(nome_completo) print(tamanho_nome) primeira_letra = nome[0] print(primeira_letra) Sabendo o Acessando o tamanho da string índice da string UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 6. Strings Usando o interpretador UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 7. Usando o Interpretador 1/3 >>> nome = 'Luiz Augusto' >>> sobrenome = 'Macedo Morais' >>> nome_completo = nome + ' ' + sobrenome >>> nome_completo 'Luiz Augusto Macedo Morais' >>> len(nome_completo) 26 >>> primeira_letra, ultima_letra = nome[0], nome[-1] >>> primeira_letra 'L' >>> ultima_letra 'o' UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 8. Usando o Interpretador 2/3 >>> nome = 'Luiz' >>> nome[1] = 'a' Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'str' object does not support item assignment >>> novo_nome = nome.replace('u', 'a') >>> novo_nome 'Laiz' >>> nome 'Luiz' UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 9. Usando o Interpretador 3/3 >>> nome = 'Luiz' >>> indice = 0 >>> while indice < len(nome): ... print(nome[indice]) ... indice += 1 ... L u i z UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 10. Strings Repetindo cada elemento UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 11. Repetindo cada elemento nome = 'Luiz' nome = 'Luiz' indice = 0 for letra in nome: while indice < len(nome): print(letra) print(nome[indice]) indice += 1 UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 12. Strings Usando o interpretador UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 13. Usando o Interpretador 1/2 >>> nome = 'Luiz Augusto' >>> for letra in nome: ... print(letra) ... L u i z UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 14. Usando o Interpretador 2/2 >>> prefixos = 'CPMN' >>> sufixo = 'ão' >>> for prefixo in prefixos: ... print(prefixo + sufixo) ... Cão Pão Mão Não UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 15. Mensagem secreta Entendendo o problema UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 16. Entendendo o problema Você é um membro da APE (Associação de Programadores Espiões) e tem uma vida dupla. Além de ser programador durante o dia, ainda passa as madrugadas no quartel general capturando informações valiosas de prováveis inimigos do Estado. Esta semana você tem uma nova missão... UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 17. Entendendo o problema Você conseguiu interceptar uma mensagem criptografada do inimigo. Seu objetivo é desenvolver um programa que consiga descriptografar a mensagem antes que aconteça uma tragédia. Uma pista: seu colega disse que a mensagem se parece com uma cifra de César. Investigue isso. UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 18. Mensagem secreta Cifra de César UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 19. Cifra de César | História ● É um tipo muito simples de criptografia, no qual as letras são substituídas por outras próximas, com um número fixo de “casas”; ● Júlio César usou para se comunicar com seus generais; ● Muito fácil de ser quebrada; UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 20. Cifra de César | Como funciona Y Z A B C D E F Y Z A B C D E F chave = 2 UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 21. Mensagem secreta Código ASCII UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 22. Código ASCII Finalmente você teve acesso à mensagem e descobriu que todos os elementos da mensagem estão presentes na tabela ASCII. Mensagem secreta Whyhiðuz(']vjñ'jvuzln| p|'klzjypw{vnyhmhy'lz{h'tluzhnlt5Wvy'jh| zh'kpzzv'}vjñ'nhuohyè'|t'h| tlu{v5HzzpuhkvA'Jolml5 UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 23. Código ASCII ASCII significa American Standard Code for Information Interchange, ou Código Padrão Americano para o Intercâmbio de Informação. A tabela ASCII contém os caracteres que são utilizados para representar o texto em computadores. Para saber mais informações sobre o código ASCII, acesse a página da tabela na Wikipedia. UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 24. Código ASCII Em Python, existem duas funções para manipular caracteres da tabela ASCII. ord: Recebe um caractere e retorna o número correspondente na tabela. chr: Recebe um número e retorna o caractere correspondente na tabela. UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 25. Mensagem secreta Usando o interpretador UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 26. Usando o Interpretador 1/2 letra = 'a' numero = ord(letra) numero 97 nova_letra = chr(numero + 2) nova_letra 'c' UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 27. Usando o Interpretador 2/2 palavra = 'ialp' for letra in palavra: ... print('%s: %d' % (letra, ord(letra))) ... i: 105 a: 97 l: 108 p: 112 UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 28. Mensagem secreta Primeira tentativa UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 29. Primeira tentativa Abrindo o arquivo mensagem.txt arquivo = open('mensagem.txt') Lendo o conteúdo mensagem = arquivo.read() do arquivo arquivo.close() Fechando o nova_mensagem = '' arquivo for letra in mensagem: nova_mensagem += chr(ord(letra) - 2) Trocando as letras print('Possível mensagem: %s' % (chave, nova_mensagem)) UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 30. Mensagem secreta Test Drive UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 31. Segunda tentativa Nós já descobrimos que a mensagem possui caracteres da tabela ASCII e que foi criptografada por meio da cifra de César. No entanto, não sabemos qual é a chave empregada na cifra. Por isso, vamos tentar descriptografar por força bruta. UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 32. Segunda tentativa MAX_CHAVES = 10 Número máximo de chaves arquivo = open('mensagem.txt') mensagem = arquivo.read() arquivo.close() chave = 1 Repetindo até o nº while chave = MAX_CHAVES: máximo de chaves nova_mensagem = '' for letra in mensagem: nova_mensagem += chr(ord(letra) - chave) print('Chave %d: %sn' % (chave, nova_mensagem)) chave += 1 Mostrando a mensagem gerada a partir de cada chave UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 33. Mensagem secreta Test Drive UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 34. Mensagem secreta Perguntas Idiotas UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 35. Perguntas Idiotas ● Por que eu não posso modificar o valor de uma string? ● É melhor usar a estrutura for ao invés do while? ● Por que eu tenho que fechar o arquivo? UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 36. O que aprendemos hoje? ● String ● Estrutura de repetição for ● Funções: ● len() ● ord() ● chr() ● open() UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 37. 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