SlideShare une entreprise Scribd logo
1  sur  67
Télécharger pour lire hors ligne
Introdução ao Python

     Python


                        Márcio Palheta
            marcio.palheta@gmail.com

                                    1
O que é Python?
• Linguagem de altíssimo nível
   – Suporte nativo a estruturas de dados de alto nivel
• Multiplataforma
   – Unix, Windows, Symbian, Solaris, etc...
• Multiparadigma
   – Procedural, OO, funcional
• Opensource
• Dinâmica e Forte
• Joga com outras linguagens
   – (.NET) IronPython, (Java) Jython, C e C++

                                                          2
Por que Python?
•   Aprendizado fácil
•   Sintaxe limpa e de fácil leitura
•   Forte suporte da comunidade
•   Bem documentada
•   Biblioteca
•   Divertida
•   Mais com menos [código]
•   Liberdade




                                       3
Quem usa Python?
•   Google
•   NASA
•   Nokia
•   Gimp/Inkscape/Blender
•   Governo (brasil.gov.br)
•   Portal G1 (g1.globo.com)
•   Entre outras...
                  http://www.python.org/about/success/
               http://www.python.org.br/wiki/EmpresasPython




                                                              4
Instalação do Python - Linux
• Já vem por padrão instalado nas distribuições;
• Opção de instalação:
   – $ sudo apt-get install python
• Execução via terminal:
   – $ python




                                                   5
Instalação do Python
• Windows
  – Download:http://www.python.org/getit/windows/
  – Execute o programa baixado. Ex: python-2.7.3.msi
  – Pacotes instalados:




                                                       6
Interpretador Interativo

    print “Hello, World!”




                            7
Executando arquivos *.py

• Use um editor de texto;
• Escreva o código para
  imprimir uma mensagem




                            • Salve o arquivo:
                            • Helloworld.py



                                            8
Executando arquivos *.py
• No terminal, entre no diretório onde salvou o arquivo
  heloworld.py;
• Digite o comando para execução de arquivos python:
       $ python helloworld.py




                                                          9
Conceitos Básicos
• Case sensitive
                                This ≠ this

• Blocos por endentação
                 se condição:                 se condição:
                      bloco                   bloco

• Tipagem dinâmica

           a=2                  a = “alguma coisa”           a = 2.3

• Tudo é objeto
• Não tem ponto e virgula no final (‘;’)
• Comentários começam com #

                                                                       10
Por dentro da API
• Os comandos mais importantes!

• dir( objeto )
   – Retorna uma lista de atributos e métodos do objeto

• help( objeto)
   – Mostra a documentação do objeto




                                                          11
Variáveis e Tipos Básicos
• Atribuição:
   – nome_da_variavel = valor
• Inteiros, Inteiros Longos, Reais, Strings e Booleanos
    >>> a = 10000000000000000000000000000000000000000005646789467
    >>> type(a)
    <type 'long'>
    >>> a = 4       >>> a = 5.3209   >>> a = True    >>> a = 'texto'
    >>> type(a)     >>> type(a)      >>> b = False   >>> b = "texto"
    <type 'int'>    <type 'float'>   >>> type(a)     >>> type(a)
                                     <type 'bool'>   <type 'str'>
                                     >>> type(b)     >>> type(b)
   Tente usar dir(a) e help(a)       <type 'bool'>   <type 'str'>



                                                                       12
Conversão dos Tipos Básicos
• int(), float(), str(), bool(), long()

   >>> int(3.1415)      >>> float(3)     >>> str(25)      >>> str(True)    >>> bool(1)
   3                    3.0              '25'             'True'           True

   >>> bool(0)       >>> bool(43)      >>> bool('lala')     >>> bool('')
   False             True              True                 False

   >>> float(233333333333337777777777778888888888999999999999933334421L)
   2.3333333333333778e+56

   >>> long(2.56)
   2L                                      Teste no interpretador!


                                                                                         13
CUIDADO!
• Cuidado com os binários, octais e hexadecimais

  >>> a = 0b10 >>> a = 032 >>> a = 0x32
  >>> a        >>> a       >>> a
  2            26          50

       >>> bin(2)        >>> oct(26)          >>> hex(50)
       '0b10'            '032'                '0x32'




                                                            14
Operadores Aritméticos
• +, -, *, /, //, **, %     >>> a = 2    >>> a = 2            >>> 4 // 1.3
                            >>> b = 3    >>> b = 3.5          3.0
   Divisão com números      >>> a + b    >>> a + b            >>> 10 // 1.3
   inteiros resulta em um   5            5.5                  7.0
   número inteiro           >>> a - b    >>> a - b            >>> 10 // 3.3
                            -1           -1.5                 3.0
   // - divisão inteira     >>> a * b    >>> a * b
   ** - exponenciação       6            7.0                  >>> 10%3
   % - resto da divisão     >>> a / b    >>> a / b            1
                            0            0.5714285714285714   >>> 10%2
                            >>> a // b   >>> a // b           0
                            0            0.0                  >>> 5%3
                            >>> a ** b   >>> a ** b           2
   Teste no interpretador   8            11.313708498984761



                                                                         15
Python como calculadora




                          16
Operadores Lógicos
• and, or, not
  >>> True and True               >>> True or True                >>> not True
  True                            True                            False
  >>> True and False              >>> False or True               >>> not False
  False                           True                            True
  >>> False and False             >>> False or False              >>> not 1
  False                           False                           False
  >>> 1 and True                  >>> 1 or False
  True                            1
  >>> 0 and True                  >>> 0 or False
  0                               False

                    >>> not ((a or False) and (False or False))
                    True


                                                                                  17
Operadores Relacionais
• >, <, >=, <=, ==, !=, <>       >>> 2 > 3    >>> 2 == 2   >>> x = 3
                                 False        True         >>> 2 < x < 4
!= e <> significam “diferente”   >>> 2 < 3    >>> 2 == 1   True
                                 True         False        >>> 7 > x > 1
É possível usar vários           >>> 3 >= 3   >>> 3 != 2   True
operadores na relação:           True         True         >>> 3 <= x <4
1<2<=3<4<5>4>3>=2!=1             >>> 4 <= 3   >>> 3 != 3   True
                                 False        False
# - indica um comentário                      >>> 3 <> 3
                                              False
                                              >>> 2 <> 2
                                              False




                                                                           18
Manipulação de Strings
• Podemos representar Strings com (') ou (' ')




                                                 19
Textos em várias linhas




                          20
Operações com Strings
• Operações:
   – + : Concatenação       >>> st = ‘curso '        >>> st = ‘Casa’
                            >>> st + ‘python'        >>> st*3
   – * : Replicação         ‘curso python'           ‘CasaCasaCasa'


   – str[i]: retorna o      >>> st = 'arquivo.mp3'   >>> st = 'arquivo.mp3'
     caracter de índice i   >>> st[0]                >>> st[2:]
                            'a'                      'quivo.mp3'
     da string str;         >>> st[-1]               >>> st[0:-4]
   – str[inicio:fim]        '3'                      'arquivo'
                            >>> st[-4]               >>> st[-3:]
     retorna uma            '. '                     'mp3’
     substring de str
                                                     Teste no interpretador


                                                                              21
Conhecendo as Strings

                                     dir(‘string ou variavel’)

>>> dir('string')
['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__',
'__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__',
'__hash__', '__init__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__',
'__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__',
'__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_formatter_field_name_split',
'_formatter_parser', 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith',
'expandtabs', 'find', 'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace',
'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'partition', 'replace', 'rfind', 'rindex', 'rjust',
'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title',
'translate', 'upper', 'zfill']



                                                                                                          22
Métodos de Strings
• split(char)                                  • len(str)
   – Retorna uma lista com os                     – Retorna o tamho da
      elementos separados por                       string str
      char >>> a = '1+2+3+4+5+6'                        >>> a = 'curso de python'
            >>> a.split('+')                            >>> len(a)
            ['1', '2', '3', '4', '5', '6']              15

• strip(chars)
   – Retorna uma string onde                 >>> a = ' !!! STRING DE RETORNO!   !! ! !'
      os chars da direita e da               >>> a.strip(' !')
      esquerda foram                         'STRING DE RETORNO'
      removidos

                                                                                          23
Métodos de Strings
• find(substring)
   – Retorna a posição da primeira ocorrência da substring.
     Caso não seja encontrada, retorna -1
         >>> a = 'curso de python'   >>> a = 'curso de python'
         >>> a.find('de')            >>> a.find('casa')
         6                           -1

• lower(), upper()
   – Retornam uma string em minúsculo/maiúsculo
       >>> a = 'CuRsO dE pYtHoN!'    >>> a = 'CuRsO dE pYtHoN!'
       >>> a.lower()                 >>> a.upper()
       'curso de python!'            'CURSO DE PYTHON!'


                                                                  24
Métodos de Strings


   Procurem mais
métodos de string com
    dir() e help()


                        25
Exercícios
• A partir da string “!! ! a;b;c;d;e;f;gh!#########” gere o resultado:
   – [“a”, “b”, “c”, “d”, “e”, “f”, “g”]

• A partir da string “ring ring! - hello!“ gere o resultado:
   – “hello!”

• Transformar a string “isso deve ser bom” para “Isso Deve Ser Bom”
• Transformar a string “abacate azul” em “4b4c4te 4zul”

  Dica: para os dois últimos, pesquise os métodos de
                    string usando dir()

                                                                     26
Exercícios
• A partir da string “!! ! a;b;c;d;e;f;gh!#########” gere o
  resultado:
   – [“a”, “b”, “c”, “d”, “e”, “f”, “g”]

           string = '!! ! a;b;c;d;e;f;gh!#########'
           print string.strip(' !#h').split(';')




                                                              27
Exercícios
• A partir da string “ring ring! - hello!“ gere o resultado:
   – “hello!”

            string = 'ring ring! - hello!'
            print string[string.find('hello'):]



            string = 'ring ring! - hello!'
            print string[13:]



                                                               28
Exercícios
• Transformar a string “isso deve ser bom” para “Isso Deve Ser
  Bom”

           string = 'isso deve ser bom'
           print string.title()

• Transformar a string “abacate azul” em “4b4c4te 4zul”

           string = 'abacate azul'
           print string.replace('a', '4')



                                                                 29
Difícil?


 É Naadaaaaa




               30
Desvio Condicional
if condicao:
    comandos     >>> a = input('Digite um numero: ')
                 Digite um numero: 4
elif condicao:   >>> if a%2 == 0:
    comandos     ...       print “Par”
                 ... else:
else:            ...       print “Impar”
    comandos     Par




Não precisa de (parêntesis), mas podem ser usados


                                                       31
Desvio Condicional
• Não existe SWITCH/CASE, quando é necessário várias
  comparações, usamos elif’s ou dicionário (explicado mais à
  frente)
• Pode ser escrito em uma linha:
   – SETRUE if condição else SEFALSE
              >>> numero = input('entre com um numero: ')
              entre com um numero: 5
              >>> print 'par' if numero%2 == 0 else 'impar'
              impar




                                                               32
Exercícios
• Leia dois números e imprima o maior deles
• Leia uma letra, se for “M” imprima “Masculino, se for “F”
  imprima “Feminino”, senão imprima “Sexo invalido”.




                          DICA:
           variavel = input() #Para números
           variavel = raw_input() #Para strings

                                                              33
Exercícios
• Leia dois números e imprima o maior deles

                  numero1 = input('Numero 1: ')
                  numero2 = input('Numero 2: ')
                  if numero1 > numero2:
                     print numero1
                  elif numero1 < numero2:
                     print numero2
                  else:
                     print 'iguais'




                                                  34
Exercícios
• Leia uma letra, se for “M” imprima “Masculino, se for “F”
  imprima “Feminino”, senão imprima “Sexo invalido”.

                   letra = raw_input('Sexo: ')
                   if letra == 'M':
                       print 'Masculino'
                   elif letra == 'F':
                       print 'Feminino'
                   else:
                       print 'Sexo invalido'




                                                              35
Loops
• O While é quase igual às outras linguagens:

                      >>> x = 0
  while condição:     >>> while x < 10:
                                print x,
       comandos                 x += 1
  else:
                      0123456789
       comandos




                                                36
Loops
• O While é quase igual às outras linguagens:

                      >>> x = 0
  while condição:     >>> while x < 10:     ELSE no WHILE
                                print x,    ?????????????
       comandos                 x += 1
  else:
                      0123456789
       comandos




                                                            37
Loops
• O else só é executado se não ocorreu nenhum break durando
  o while, ou seja, se o while parar pela condição.
      >>> numero = input('entre com um numero: ')
      entre com um numero: 11
      >>> x = 2
      >>> while x < numero:                         Úúúuuuuhhhh
                if numero%x == 0:                      SHOW!
                     print 'nao é primo'
                     break
                x += 1
          else:
                print numero, 'é primo‘

      11 é primo


                                                                  38
Loops
• O for em python é parecido com o foreach de outras
  linguagens:

  for variavel in sequencia:        >>> for letra in 'string':
                                              print letra
       comandos
  else:                             s
                                    t
       comandos                     r
                                    i
                                    n
                                    g




                                                                 39
Loops
• Trabalhando com listas: [...].

               >>> for elemento in [1,3,3,6,4,2,7]:
                         print elemento*2

               2
               6
               6
               12
               8
               4
               14




                                                      40
Loops
• a função range(numero) retorna uma lista de números
     >>> range(10)                       >>> for i in range(10):
     [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]                 print i,

                                         0123456789
     >>> range(5,10)                     >>> for i in range(5,10):
     [5, 6, 7, 8, 9]                                print i,

                                         56789
     >>> range(0,10,2)                   >>> for i in range(0,10,2):
     [0, 2, 4, 6, 8]                                print i,

                                         02468



                                                                       41
Exercícios
• Imprima a tabuada de multiplicação de um número digitado
  pelo usuário;
• Some os números impares de 0 a 100;
• Imprima uma frase digitada pelo usuário, continue lendo e
  imprimindo até o usuário digitar SAIR




                                                              42
Exercícios
• Imprima a tabuada de um número digitado pelo usuário
              numero = input('Entre com um numero: ')
              for i in range(11):
                print numero, 'x', i, '=', numero*i


• Imprima a soma dos números impares de 0 a 100
              soma = 0
              for i in range(1, 100, 2):
                soma += i
              print soma




                                                         43
Exercícios
• Imprima a tabuada de um número digitado pelo usuário
              numero = input('Entre com um numero: ')
              for i in range(11):
                print numero, 'x', i, '=', numero*i


• Imprima a soma dos números impares de 0 a 100
              soma = 0
              for i in range(1, 100, 2):
                soma += i
              print soma


                       sum(range(1,100,2)

                                                         44
Exercícios
• Imprima uma frase digitada pelo usuário, continue lendo e
  imprimindo até o usuário digitar SAIR
               while True:
                frase = raw_input('Frase: ')
                if frase == 'SAIR': break
                print 'FRASE: ', frase


          Não tem problema usar “While
          True” em python! No exemplo o
          “While True” evita repetição de
                     código!




                                                              45
Funções
• Para criar uma função:
   – def nome_da_funcao( parametros ):

• Para retornar algum valor, usamos o return
• Uma função não precisa retornar algo.
• Não existe sobrecarga
              >>> def fat(n):
                        return 1 if n < 2 else fat(n-1)*n

              >>> fat(5)
              120



                                                            46
Funções
• Valor padrão de um parâmetro.
• Substitui a sobrecarga e evita repetição de código
        def funcao(a, b=5):       public void funcao(int a) {
             print 'a =',a          System.out.println('a = '+a);
             print 'b =',b          System.out.println('b = 5');
                                  }
        >>> funcao(2)
        a=2                       public void funcao(int a, int b) {
        b=5                         System.out.println('a = '+a);
        >>> funcao(2,6)             System.out.println('b = '+b);
        a=2                       }
        b=6
        >>> funcao(b=9, a=4)
        a=4
        b=9

                                                                       47
Exercícios
• Faça uma função para calcular o fatorial de um número
  (função não recursiva)
• Faça uma função para verificar se um número é primo ou não




                                                           48
Exercícios
• Faça uma função para calcular o fatorial de um número
  (função não recursiva)

                   def fatorial(n):
                     resultado = 1
                     for i in range(2, n+1):
                        resultado *= i
                     return resultado




                                                          49
Exercícios
• Faça uma função para verificar se um número é primo ou não

                  def primo(n):
                    for i in range(2, n):
                      if n%i == 0:
                          return False
                    return True




                                                           50
Listas
• Não existe vetores em Python, nós usamos listas
• Uma lista guarda uma seqüência de itens
• São identificadas por colchetes “[ ]”
                      >>> lista = [1,2,3,4,5]
                      >>> print lista
                      [1, 2, 3, 4, 5]


• Os itens podem ser acessados como um vetor
                      >>> lista[0]
                      1
                      >>> lista[4]
                      5


                                                    51
Listas
                      Inserindo elementos
• append( obj )                           >>> lista = [1,2,3]
                                          >>> lista.append(0)
   – Insere o objeto no fim da lista      >>> lista
                                          [1, 2, 3, 0]


• insert( posição, obj )
   – Insere o objeto na posição especificada
                                       >>> lista = [1,2,3]
                                       >>> lista.insert(1, 'objeto')
                                       >>> lista
                                       [1, 'objeto', 2, 3]


                                                                       52
Listas
                   Removendo elementos
• remove(obj)                         >>> lista = ['a','b',3]
                                      >>> lista.remove('b')
   – Remove o objeto da lista         >>> lista
                                      ['a', 3]

• pop(posição)                        >>> lista = ['a', 2, 'b', 4, 'c']
                                      >>> lista.pop(0)
   – Remove e retorna o objeto da     'a'
     posição especificada. O pop()    >>> lista
     sem parâmetros retira o último   [2, 'b', 4, 'c']
                                      >>> lista.pop()
     elemento                         'c'
                                      >>> lista
                                      [2, 'b', 4]


                                                                          53
Listas
                       Outros métodos
• count( obj )
   – Retorna a quantidade de elementos “obj” da lista
• index( obj )
   – Retorna a posição do “obj” na lista
• reverse()
   – Inverte a lista colocando os elementos ao contrário
• sort()
   – Ordena a lista
                    Usem dir() e help()

                                                           54
Tuplas
• Definidas por parêntesis “( )” ou objetos divididos por “,”
                >>> tupla = (1,2,3)       >>> tupla = 1,2,3
                >>> tupla                 >>> tupla
                (1, 2, 3)                 (1, 2, 3)


• Parecidos com listas, mas são imutáveis
   >>> lista = [1,2,3]   >>> tupla = (1,2,3)
   >>> lista[0] = 4      >>> tupla[0] = 4
   >>> lista             Traceback (most recent call last):
   [4, 2, 3]              File "<pyshell#40>", line 1, in <module>
                           tupla[0] = 4
                         TypeError: 'tuple' object does not support item assignment



                                                                                  55
Dicionários
• O programador pode definir a chave do item
• Representados por chaves “{ }”

              >>> dicionario = {'chave' : 'item', 2 : 4}
              >>> dicionario['chave']
              'item'
              >>> dicionario[2]
              4



                        Use dir() e help()


                                                           56
Dicionários
• Inserir item
   – dicionario[chave] = obj
• Remover item
   – dicionario.pop(chave)
       • Se não encontrar a chave retorna erro
   – dicionario.pop(chave, retorno)
       • Se não encontrar a chave retorna o valor de retorno
• Remover todos itens
   – dicionario.clear()



                                                               57
Dicionários
• Acessar item
   – dicionario[chave]
      • Se a chave não existir retorna erro
   – dicionario.get(chave)
      • Se a chave não existir retorna None
   – dicionario.get(chave, retorno)
      • Se a chave não existir retorna o valor de retorno
• Verificar se existe item
   – dicionario.has_key(chave)



                                                            58
Exercícios
• Função para calcular série Fibonacci até n
• Imprimir quantos números são maiores que 10 na lista:
   – [1, 4, 15, 26, 3, 6, 10, 13, 5, 3]
• Leia o nome e a nota de 5 alunos e guarde em um dicionário
• Função que receba uma string é imprima em escada, ex:
   –T
   – TE                  DICA: Use a função len(objeto) para
   – TES                       pegar o tamanho da string
   – TEST
   – TESTE

                                                               59
Exercícios
• Calcular série Fibonacci até n

               def fibonacci(n):
                 fibs = [0, 1]
                 for i in range(n-2):
                    fibs.append(fibs[-2] + fibs[-1])
                 return fibs




                                                       60
Exercícios
• Verificar quantos números são maiores que 10 na lista:
   – [1, 4, 15, 26, 3, 6, 10, 13, 5, 3]
              lista = [1, 4, 15, 26, 3, 6, 10, 13, 5, 3]
              soma = 0
              for item in lista:
                 if item > 10:
                    soma += 1
              print soma




                                                           61
Exercícios
• Leia o nome e a nota de 5 alunos e guarde em um dicionário


              notas = {}
              for i in range(5):
                nome = raw_input('nome: ')
                nota = input('nota: ')
                notas[nome] = nota
              print notas




                                                               62
Exercícios
• Função que receba uma string é imprima em escada, ex:
   –T
   – TE
                   def funcao(palavra):
   – TES             for i in range(len(palavra)):
   – TEST               print palavra[:i+1]
   – TESTE




                                                          63
64
Contatos


• Márcio Palheta
  – marcio.palheta@gmail.com
  – @marciopalheta
  – http://sites.google.com/site/marciopalheta




                                                 65
Bibliografia
•   LIVRO: Apress - Beginning Python From Novice to Professional
•   LIVRO: O'Relly - Learning Python
•   http://www.python.org
•   http://www.python.org.br

• Mais exercícios:
  – http://www.python.org.br/wiki/ListaDeExercicios

• Documentação do python:
   – http://docs.python.org/

                                                               66
Introdução ao Python

     Python


            Márcio Palheta
            marcio.palheta@gmail.com

                                  67

Contenu connexe

Tendances

Introdução à Análise de Sistemas
Introdução à Análise de SistemasIntrodução à Análise de Sistemas
Introdução à Análise de Sistemas
Nécio de Lima Veras
 
Exercício resolvido normalização
Exercício resolvido normalizaçãoExercício resolvido normalização
Exercício resolvido normalização
Ticianne Darin
 

Tendances (20)

Introdução à Análise de Sistemas
Introdução à Análise de SistemasIntrodução à Análise de Sistemas
Introdução à Análise de Sistemas
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1
 
Java básico - Módulo 05 - Estruturas de Repetição
Java  básico - Módulo 05 - Estruturas de RepetiçãoJava  básico - Módulo 05 - Estruturas de Repetição
Java básico - Módulo 05 - Estruturas de Repetição
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Aula10 sql-ddl
Aula10 sql-ddlAula10 sql-ddl
Aula10 sql-ddl
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação Python
 
Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL Basico
 
Arquitetura de Computadores: Memórias
Arquitetura de Computadores: MemóriasArquitetura de Computadores: Memórias
Arquitetura de Computadores: Memórias
 
Exercício resolvido normalização
Exercício resolvido normalizaçãoExercício resolvido normalização
Exercício resolvido normalização
 
Linguagem SQL
Linguagem SQLLinguagem SQL
Linguagem SQL
 
Introdução a Bancos de Dados
Introdução a Bancos de DadosIntrodução a Bancos de Dados
Introdução a Bancos de Dados
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Pesquisa e Ordenação Aula 01 - Apresentação
Pesquisa e Ordenação Aula 01 - ApresentaçãoPesquisa e Ordenação Aula 01 - Apresentação
Pesquisa e Ordenação Aula 01 - Apresentação
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentais
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Modelagem de Dados
Modelagem de DadosModelagem de Dados
Modelagem de Dados
 
Algoritmos: Tipos de Dados
Algoritmos: Tipos de DadosAlgoritmos: Tipos de Dados
Algoritmos: Tipos de Dados
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
 

En vedette

En vedette (11)

Capítulo 04 - Persistência de dados com SQLite
Capítulo 04 - Persistência de dados com SQLiteCapítulo 04 - Persistência de dados com SQLite
Capítulo 04 - Persistência de dados com SQLite
 
Capítulo 03 - Formulários, menus e navegação entre telas
Capítulo 03 - Formulários, menus e navegação entre telasCapítulo 03 - Formulários, menus e navegação entre telas
Capítulo 03 - Formulários, menus e navegação entre telas
 
Capítulo 05 - Menus de Contexto e Exclusão de Aluno
Capítulo 05 - Menus de Contexto e Exclusão de AlunoCapítulo 05 - Menus de Contexto e Exclusão de Aluno
Capítulo 05 - Menus de Contexto e Exclusão de Aluno
 
Capítulo 07 - Acesso a câmera e arquivos armazenados no device
Capítulo 07 - Acesso a câmera e arquivos armazenados no deviceCapítulo 07 - Acesso a câmera e arquivos armazenados no device
Capítulo 07 - Acesso a câmera e arquivos armazenados no device
 
Capítulo 01 - Fundamentos de Android e o HelloWorld
Capítulo 01 - Fundamentos de Android e o HelloWorldCapítulo 01 - Fundamentos de Android e o HelloWorld
Capítulo 01 - Fundamentos de Android e o HelloWorld
 
Capítulo 08 - desenvolvimento de layouts customizados
Capítulo 08 - desenvolvimento de layouts customizadosCapítulo 08 - desenvolvimento de layouts customizados
Capítulo 08 - desenvolvimento de layouts customizados
 
Capítulo 06 - Comunicação entre Activities e Intents Implícitas
Capítulo 06 - Comunicação entre Activities e Intents ImplícitasCapítulo 06 - Comunicação entre Activities e Intents Implícitas
Capítulo 06 - Comunicação entre Activities e Intents Implícitas
 
Capítulo 02 - Cadastro de Alunos e Decisões de Projeto
Capítulo 02 - Cadastro de Alunos e Decisões de ProjetoCapítulo 02 - Cadastro de Alunos e Decisões de Projeto
Capítulo 02 - Cadastro de Alunos e Decisões de Projeto
 
Capítulo 09 - Serviços em Background
Capítulo 09 - Serviços em BackgroundCapítulo 09 - Serviços em Background
Capítulo 09 - Serviços em Background
 
Capítulo 12 - Fragments
Capítulo 12 - FragmentsCapítulo 12 - Fragments
Capítulo 12 - Fragments
 
Capítulo 10 - Sincronização de dados usando JSON
Capítulo 10 - Sincronização de dados usando JSONCapítulo 10 - Sincronização de dados usando JSON
Capítulo 10 - Sincronização de dados usando JSON
 

Similaire à Introdução ao Python

Similaire à Introdução ao Python (20)

Introdução ao Python
Introdução ao PythonIntrodução ao Python
Introdução ao Python
 
Iniciando em Python
Iniciando em PythonIniciando em Python
Iniciando em Python
 
Curso de Python e Django
Curso de Python e DjangoCurso de Python e Django
Curso de Python e Django
 
(2018-07-14) [Just Python] Números no Python!
(2018-07-14) [Just Python] Números no Python!(2018-07-14) [Just Python] Números no Python!
(2018-07-14) [Just Python] Números no Python!
 
Python
PythonPython
Python
 
Introdução a linguagem Python 2.7
Introdução a linguagem Python 2.7Introdução a linguagem Python 2.7
Introdução a linguagem Python 2.7
 
Python Introdução e Orientação a Objetos.pdf
Python Introdução e Orientação a Objetos.pdfPython Introdução e Orientação a Objetos.pdf
Python Introdução e Orientação a Objetos.pdf
 
01 variaveis io if
01 variaveis io if01 variaveis io if
01 variaveis io if
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - Português
 
minicurso-python-getmeeting.pdf
minicurso-python-getmeeting.pdfminicurso-python-getmeeting.pdf
minicurso-python-getmeeting.pdf
 
Python Emsl2009
Python Emsl2009Python Emsl2009
Python Emsl2009
 
Python: a primeira mordida
Python: a primeira mordidaPython: a primeira mordida
Python: a primeira mordida
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)
 
Haskell
HaskellHaskell
Haskell
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
 
Afinal, o que é uma linguagem de programação?
Afinal, o que é uma linguagem de programação?Afinal, o que é uma linguagem de programação?
Afinal, o que é uma linguagem de programação?
 
Curso de programação para iniciantes: Afinal, o que é uma linguagem de progra...
Curso de programação para iniciantes: Afinal, o que é uma linguagem de progra...Curso de programação para iniciantes: Afinal, o que é uma linguagem de progra...
Curso de programação para iniciantes: Afinal, o que é uma linguagem de progra...
 
Ruby learning
Ruby learningRuby learning
Ruby learning
 
Python e seus desafios
Python e seus desafiosPython e seus desafios
Python e seus desafios
 
Aula python
Aula pythonAula python
Aula python
 

Introdução ao Python

  • 1. Introdução ao Python Python Márcio Palheta marcio.palheta@gmail.com 1
  • 2. O que é Python? • Linguagem de altíssimo nível – Suporte nativo a estruturas de dados de alto nivel • Multiplataforma – Unix, Windows, Symbian, Solaris, etc... • Multiparadigma – Procedural, OO, funcional • Opensource • Dinâmica e Forte • Joga com outras linguagens – (.NET) IronPython, (Java) Jython, C e C++ 2
  • 3. Por que Python? • Aprendizado fácil • Sintaxe limpa e de fácil leitura • Forte suporte da comunidade • Bem documentada • Biblioteca • Divertida • Mais com menos [código] • Liberdade 3
  • 4. Quem usa Python? • Google • NASA • Nokia • Gimp/Inkscape/Blender • Governo (brasil.gov.br) • Portal G1 (g1.globo.com) • Entre outras... http://www.python.org/about/success/ http://www.python.org.br/wiki/EmpresasPython 4
  • 5. Instalação do Python - Linux • Já vem por padrão instalado nas distribuições; • Opção de instalação: – $ sudo apt-get install python • Execução via terminal: – $ python 5
  • 6. Instalação do Python • Windows – Download:http://www.python.org/getit/windows/ – Execute o programa baixado. Ex: python-2.7.3.msi – Pacotes instalados: 6
  • 7. Interpretador Interativo print “Hello, World!” 7
  • 8. Executando arquivos *.py • Use um editor de texto; • Escreva o código para imprimir uma mensagem • Salve o arquivo: • Helloworld.py 8
  • 9. Executando arquivos *.py • No terminal, entre no diretório onde salvou o arquivo heloworld.py; • Digite o comando para execução de arquivos python: $ python helloworld.py 9
  • 10. Conceitos Básicos • Case sensitive This ≠ this • Blocos por endentação se condição: se condição: bloco bloco • Tipagem dinâmica a=2 a = “alguma coisa” a = 2.3 • Tudo é objeto • Não tem ponto e virgula no final (‘;’) • Comentários começam com # 10
  • 11. Por dentro da API • Os comandos mais importantes! • dir( objeto ) – Retorna uma lista de atributos e métodos do objeto • help( objeto) – Mostra a documentação do objeto 11
  • 12. Variáveis e Tipos Básicos • Atribuição: – nome_da_variavel = valor • Inteiros, Inteiros Longos, Reais, Strings e Booleanos >>> a = 10000000000000000000000000000000000000000005646789467 >>> type(a) <type 'long'> >>> a = 4 >>> a = 5.3209 >>> a = True >>> a = 'texto' >>> type(a) >>> type(a) >>> b = False >>> b = "texto" <type 'int'> <type 'float'> >>> type(a) >>> type(a) <type 'bool'> <type 'str'> >>> type(b) >>> type(b) Tente usar dir(a) e help(a) <type 'bool'> <type 'str'> 12
  • 13. Conversão dos Tipos Básicos • int(), float(), str(), bool(), long() >>> int(3.1415) >>> float(3) >>> str(25) >>> str(True) >>> bool(1) 3 3.0 '25' 'True' True >>> bool(0) >>> bool(43) >>> bool('lala') >>> bool('') False True True False >>> float(233333333333337777777777778888888888999999999999933334421L) 2.3333333333333778e+56 >>> long(2.56) 2L Teste no interpretador! 13
  • 14. CUIDADO! • Cuidado com os binários, octais e hexadecimais >>> a = 0b10 >>> a = 032 >>> a = 0x32 >>> a >>> a >>> a 2 26 50 >>> bin(2) >>> oct(26) >>> hex(50) '0b10' '032' '0x32' 14
  • 15. Operadores Aritméticos • +, -, *, /, //, **, % >>> a = 2 >>> a = 2 >>> 4 // 1.3 >>> b = 3 >>> b = 3.5 3.0 Divisão com números >>> a + b >>> a + b >>> 10 // 1.3 inteiros resulta em um 5 5.5 7.0 número inteiro >>> a - b >>> a - b >>> 10 // 3.3 -1 -1.5 3.0 // - divisão inteira >>> a * b >>> a * b ** - exponenciação 6 7.0 >>> 10%3 % - resto da divisão >>> a / b >>> a / b 1 0 0.5714285714285714 >>> 10%2 >>> a // b >>> a // b 0 0 0.0 >>> 5%3 >>> a ** b >>> a ** b 2 Teste no interpretador 8 11.313708498984761 15
  • 17. Operadores Lógicos • and, or, not >>> True and True >>> True or True >>> not True True True False >>> True and False >>> False or True >>> not False False True True >>> False and False >>> False or False >>> not 1 False False False >>> 1 and True >>> 1 or False True 1 >>> 0 and True >>> 0 or False 0 False >>> not ((a or False) and (False or False)) True 17
  • 18. Operadores Relacionais • >, <, >=, <=, ==, !=, <> >>> 2 > 3 >>> 2 == 2 >>> x = 3 False True >>> 2 < x < 4 != e <> significam “diferente” >>> 2 < 3 >>> 2 == 1 True True False >>> 7 > x > 1 É possível usar vários >>> 3 >= 3 >>> 3 != 2 True operadores na relação: True True >>> 3 <= x <4 1<2<=3<4<5>4>3>=2!=1 >>> 4 <= 3 >>> 3 != 3 True False False # - indica um comentário >>> 3 <> 3 False >>> 2 <> 2 False 18
  • 19. Manipulação de Strings • Podemos representar Strings com (') ou (' ') 19
  • 20. Textos em várias linhas 20
  • 21. Operações com Strings • Operações: – + : Concatenação >>> st = ‘curso ' >>> st = ‘Casa’ >>> st + ‘python' >>> st*3 – * : Replicação ‘curso python' ‘CasaCasaCasa' – str[i]: retorna o >>> st = 'arquivo.mp3' >>> st = 'arquivo.mp3' caracter de índice i >>> st[0] >>> st[2:] 'a' 'quivo.mp3' da string str; >>> st[-1] >>> st[0:-4] – str[inicio:fim] '3' 'arquivo' >>> st[-4] >>> st[-3:] retorna uma '. ' 'mp3’ substring de str Teste no interpretador 21
  • 22. Conhecendo as Strings dir(‘string ou variavel’) >>> dir('string') ['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_formatter_field_name_split', '_formatter_parser', 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill'] 22
  • 23. Métodos de Strings • split(char) • len(str) – Retorna uma lista com os – Retorna o tamho da elementos separados por string str char >>> a = '1+2+3+4+5+6' >>> a = 'curso de python' >>> a.split('+') >>> len(a) ['1', '2', '3', '4', '5', '6'] 15 • strip(chars) – Retorna uma string onde >>> a = ' !!! STRING DE RETORNO! !! ! !' os chars da direita e da >>> a.strip(' !') esquerda foram 'STRING DE RETORNO' removidos 23
  • 24. Métodos de Strings • find(substring) – Retorna a posição da primeira ocorrência da substring. Caso não seja encontrada, retorna -1 >>> a = 'curso de python' >>> a = 'curso de python' >>> a.find('de') >>> a.find('casa') 6 -1 • lower(), upper() – Retornam uma string em minúsculo/maiúsculo >>> a = 'CuRsO dE pYtHoN!' >>> a = 'CuRsO dE pYtHoN!' >>> a.lower() >>> a.upper() 'curso de python!' 'CURSO DE PYTHON!' 24
  • 25. Métodos de Strings Procurem mais métodos de string com dir() e help() 25
  • 26. Exercícios • A partir da string “!! ! a;b;c;d;e;f;gh!#########” gere o resultado: – [“a”, “b”, “c”, “d”, “e”, “f”, “g”] • A partir da string “ring ring! - hello!“ gere o resultado: – “hello!” • Transformar a string “isso deve ser bom” para “Isso Deve Ser Bom” • Transformar a string “abacate azul” em “4b4c4te 4zul” Dica: para os dois últimos, pesquise os métodos de string usando dir() 26
  • 27. Exercícios • A partir da string “!! ! a;b;c;d;e;f;gh!#########” gere o resultado: – [“a”, “b”, “c”, “d”, “e”, “f”, “g”] string = '!! ! a;b;c;d;e;f;gh!#########' print string.strip(' !#h').split(';') 27
  • 28. Exercícios • A partir da string “ring ring! - hello!“ gere o resultado: – “hello!” string = 'ring ring! - hello!' print string[string.find('hello'):] string = 'ring ring! - hello!' print string[13:] 28
  • 29. Exercícios • Transformar a string “isso deve ser bom” para “Isso Deve Ser Bom” string = 'isso deve ser bom' print string.title() • Transformar a string “abacate azul” em “4b4c4te 4zul” string = 'abacate azul' print string.replace('a', '4') 29
  • 31. Desvio Condicional if condicao: comandos >>> a = input('Digite um numero: ') Digite um numero: 4 elif condicao: >>> if a%2 == 0: comandos ... print “Par” ... else: else: ... print “Impar” comandos Par Não precisa de (parêntesis), mas podem ser usados 31
  • 32. Desvio Condicional • Não existe SWITCH/CASE, quando é necessário várias comparações, usamos elif’s ou dicionário (explicado mais à frente) • Pode ser escrito em uma linha: – SETRUE if condição else SEFALSE >>> numero = input('entre com um numero: ') entre com um numero: 5 >>> print 'par' if numero%2 == 0 else 'impar' impar 32
  • 33. Exercícios • Leia dois números e imprima o maior deles • Leia uma letra, se for “M” imprima “Masculino, se for “F” imprima “Feminino”, senão imprima “Sexo invalido”. DICA: variavel = input() #Para números variavel = raw_input() #Para strings 33
  • 34. Exercícios • Leia dois números e imprima o maior deles numero1 = input('Numero 1: ') numero2 = input('Numero 2: ') if numero1 > numero2: print numero1 elif numero1 < numero2: print numero2 else: print 'iguais' 34
  • 35. Exercícios • Leia uma letra, se for “M” imprima “Masculino, se for “F” imprima “Feminino”, senão imprima “Sexo invalido”. letra = raw_input('Sexo: ') if letra == 'M': print 'Masculino' elif letra == 'F': print 'Feminino' else: print 'Sexo invalido' 35
  • 36. Loops • O While é quase igual às outras linguagens: >>> x = 0 while condição: >>> while x < 10: print x, comandos x += 1 else: 0123456789 comandos 36
  • 37. Loops • O While é quase igual às outras linguagens: >>> x = 0 while condição: >>> while x < 10: ELSE no WHILE print x, ????????????? comandos x += 1 else: 0123456789 comandos 37
  • 38. Loops • O else só é executado se não ocorreu nenhum break durando o while, ou seja, se o while parar pela condição. >>> numero = input('entre com um numero: ') entre com um numero: 11 >>> x = 2 >>> while x < numero: Úúúuuuuhhhh if numero%x == 0: SHOW! print 'nao é primo' break x += 1 else: print numero, 'é primo‘ 11 é primo 38
  • 39. Loops • O for em python é parecido com o foreach de outras linguagens: for variavel in sequencia: >>> for letra in 'string': print letra comandos else: s t comandos r i n g 39
  • 40. Loops • Trabalhando com listas: [...]. >>> for elemento in [1,3,3,6,4,2,7]: print elemento*2 2 6 6 12 8 4 14 40
  • 41. Loops • a função range(numero) retorna uma lista de números >>> range(10) >>> for i in range(10): [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print i, 0123456789 >>> range(5,10) >>> for i in range(5,10): [5, 6, 7, 8, 9] print i, 56789 >>> range(0,10,2) >>> for i in range(0,10,2): [0, 2, 4, 6, 8] print i, 02468 41
  • 42. Exercícios • Imprima a tabuada de multiplicação de um número digitado pelo usuário; • Some os números impares de 0 a 100; • Imprima uma frase digitada pelo usuário, continue lendo e imprimindo até o usuário digitar SAIR 42
  • 43. Exercícios • Imprima a tabuada de um número digitado pelo usuário numero = input('Entre com um numero: ') for i in range(11): print numero, 'x', i, '=', numero*i • Imprima a soma dos números impares de 0 a 100 soma = 0 for i in range(1, 100, 2): soma += i print soma 43
  • 44. Exercícios • Imprima a tabuada de um número digitado pelo usuário numero = input('Entre com um numero: ') for i in range(11): print numero, 'x', i, '=', numero*i • Imprima a soma dos números impares de 0 a 100 soma = 0 for i in range(1, 100, 2): soma += i print soma sum(range(1,100,2) 44
  • 45. Exercícios • Imprima uma frase digitada pelo usuário, continue lendo e imprimindo até o usuário digitar SAIR while True: frase = raw_input('Frase: ') if frase == 'SAIR': break print 'FRASE: ', frase Não tem problema usar “While True” em python! No exemplo o “While True” evita repetição de código! 45
  • 46. Funções • Para criar uma função: – def nome_da_funcao( parametros ): • Para retornar algum valor, usamos o return • Uma função não precisa retornar algo. • Não existe sobrecarga >>> def fat(n): return 1 if n < 2 else fat(n-1)*n >>> fat(5) 120 46
  • 47. Funções • Valor padrão de um parâmetro. • Substitui a sobrecarga e evita repetição de código def funcao(a, b=5): public void funcao(int a) { print 'a =',a System.out.println('a = '+a); print 'b =',b System.out.println('b = 5'); } >>> funcao(2) a=2 public void funcao(int a, int b) { b=5 System.out.println('a = '+a); >>> funcao(2,6) System.out.println('b = '+b); a=2 } b=6 >>> funcao(b=9, a=4) a=4 b=9 47
  • 48. Exercícios • Faça uma função para calcular o fatorial de um número (função não recursiva) • Faça uma função para verificar se um número é primo ou não 48
  • 49. Exercícios • Faça uma função para calcular o fatorial de um número (função não recursiva) def fatorial(n): resultado = 1 for i in range(2, n+1): resultado *= i return resultado 49
  • 50. Exercícios • Faça uma função para verificar se um número é primo ou não def primo(n): for i in range(2, n): if n%i == 0: return False return True 50
  • 51. Listas • Não existe vetores em Python, nós usamos listas • Uma lista guarda uma seqüência de itens • São identificadas por colchetes “[ ]” >>> lista = [1,2,3,4,5] >>> print lista [1, 2, 3, 4, 5] • Os itens podem ser acessados como um vetor >>> lista[0] 1 >>> lista[4] 5 51
  • 52. Listas Inserindo elementos • append( obj ) >>> lista = [1,2,3] >>> lista.append(0) – Insere o objeto no fim da lista >>> lista [1, 2, 3, 0] • insert( posição, obj ) – Insere o objeto na posição especificada >>> lista = [1,2,3] >>> lista.insert(1, 'objeto') >>> lista [1, 'objeto', 2, 3] 52
  • 53. Listas Removendo elementos • remove(obj) >>> lista = ['a','b',3] >>> lista.remove('b') – Remove o objeto da lista >>> lista ['a', 3] • pop(posição) >>> lista = ['a', 2, 'b', 4, 'c'] >>> lista.pop(0) – Remove e retorna o objeto da 'a' posição especificada. O pop() >>> lista sem parâmetros retira o último [2, 'b', 4, 'c'] >>> lista.pop() elemento 'c' >>> lista [2, 'b', 4] 53
  • 54. Listas Outros métodos • count( obj ) – Retorna a quantidade de elementos “obj” da lista • index( obj ) – Retorna a posição do “obj” na lista • reverse() – Inverte a lista colocando os elementos ao contrário • sort() – Ordena a lista Usem dir() e help() 54
  • 55. Tuplas • Definidas por parêntesis “( )” ou objetos divididos por “,” >>> tupla = (1,2,3) >>> tupla = 1,2,3 >>> tupla >>> tupla (1, 2, 3) (1, 2, 3) • Parecidos com listas, mas são imutáveis >>> lista = [1,2,3] >>> tupla = (1,2,3) >>> lista[0] = 4 >>> tupla[0] = 4 >>> lista Traceback (most recent call last): [4, 2, 3] File "<pyshell#40>", line 1, in <module> tupla[0] = 4 TypeError: 'tuple' object does not support item assignment 55
  • 56. Dicionários • O programador pode definir a chave do item • Representados por chaves “{ }” >>> dicionario = {'chave' : 'item', 2 : 4} >>> dicionario['chave'] 'item' >>> dicionario[2] 4 Use dir() e help() 56
  • 57. Dicionários • Inserir item – dicionario[chave] = obj • Remover item – dicionario.pop(chave) • Se não encontrar a chave retorna erro – dicionario.pop(chave, retorno) • Se não encontrar a chave retorna o valor de retorno • Remover todos itens – dicionario.clear() 57
  • 58. Dicionários • Acessar item – dicionario[chave] • Se a chave não existir retorna erro – dicionario.get(chave) • Se a chave não existir retorna None – dicionario.get(chave, retorno) • Se a chave não existir retorna o valor de retorno • Verificar se existe item – dicionario.has_key(chave) 58
  • 59. Exercícios • Função para calcular série Fibonacci até n • Imprimir quantos números são maiores que 10 na lista: – [1, 4, 15, 26, 3, 6, 10, 13, 5, 3] • Leia o nome e a nota de 5 alunos e guarde em um dicionário • Função que receba uma string é imprima em escada, ex: –T – TE DICA: Use a função len(objeto) para – TES pegar o tamanho da string – TEST – TESTE 59
  • 60. Exercícios • Calcular série Fibonacci até n def fibonacci(n): fibs = [0, 1] for i in range(n-2): fibs.append(fibs[-2] + fibs[-1]) return fibs 60
  • 61. Exercícios • Verificar quantos números são maiores que 10 na lista: – [1, 4, 15, 26, 3, 6, 10, 13, 5, 3] lista = [1, 4, 15, 26, 3, 6, 10, 13, 5, 3] soma = 0 for item in lista: if item > 10: soma += 1 print soma 61
  • 62. Exercícios • Leia o nome e a nota de 5 alunos e guarde em um dicionário notas = {} for i in range(5): nome = raw_input('nome: ') nota = input('nota: ') notas[nome] = nota print notas 62
  • 63. Exercícios • Função que receba uma string é imprima em escada, ex: –T – TE def funcao(palavra): – TES for i in range(len(palavra)): – TEST print palavra[:i+1] – TESTE 63
  • 64. 64
  • 65. Contatos • Márcio Palheta – marcio.palheta@gmail.com – @marciopalheta – http://sites.google.com/site/marciopalheta 65
  • 66. Bibliografia • LIVRO: Apress - Beginning Python From Novice to Professional • LIVRO: O'Relly - Learning Python • http://www.python.org • http://www.python.org.br • Mais exercícios: – http://www.python.org.br/wiki/ListaDeExercicios • Documentação do python: – http://docs.python.org/ 66
  • 67. Introdução ao Python Python Márcio Palheta marcio.palheta@gmail.com 67