Aula7 - Strings

  • View
    9

  • Download
    2

Embed Size (px)

DESCRIPTION

slide python

Transcript

  • Aula 7 Strings e Tuplas

  • 2

    Mtodos associados a String

    Uma string possui vrios mtodos (funes) disponveis para executar diferentes tarefas.

    Para utilizar um mtodo, deve-se usar a sintaxe: identificador.mtodo(parmetros).

    Para listar os mtodos (e outros atributos) disponveis, utilize o comando: dir(identificador).

    Computao I - aula 7 - 2014/1

  • 3

    Mtodos associados a String

    Para obter a descrio de um item, digite: identificador.item.__doc__

    Para obter ajuda a respeito de um tipo, digite help(tipo).

    Por exemplo: help(str) para obter ajuda sobre strings,

    help(int) para ajuda sobre inteiros, etc..

    Computao I - aula 7 - 2014/1

  • 4

    String - Mtodos

    lower(): retorna a string com todos os caracteres maisculos

    convertidos para minsculos.

    upper(): retorna a string com todos os caracteres minsculos

    convertidos para maisculos.

    Exemplo

    >>> "Esperana".upper()

    ESPERANA

    >>> "P de Laranja Lima".lower()

    p de laranja lima

    Computao I - aula 7 - 2014/1

  • 5

    String - Mtodos

    count(elemento, inicio, fim): retorna quantas vezes o elemento aparece na

    string, procurando-se a partir da posio inicio e indo at a posio fim - 1.

    inicio e fim so opcionais.

    Exemplo

    Computao I - aula 7 - 2014/1

  • 6

    String - Mtodos

    index(elemento, inicio, fim): retorna o ndice da primeira ocorrncia de elemento na string, a partir da posio inicio, at a posio fim - 1. Inicio e fim so opcionais.

    Exemplo

    Computao I - aula 7 - 2014/1

  • 7

    String - Mtodos find(substring,inicio,fim): Retorna o ndice da primeira ocorrncia de substring.

    - inicio e fim so opcionais e indicam os intervalos de ndices onde a busca ser

    efetuada. Os defaults so, respectivamente, 0 e comprimento da string.

    - Caso substring no aparea na string, retornado -1.

    - Note que o operador in pode ser usado para dizer se uma substring aparece numa

    string.

    Exemplo

    >>> s = "quem parte e reparte, fica com a maior parte"

    >>> s.find("parte")

    5

    >>> s.find("reparte")

    13

    >>> s.find("parcela")

    -1

    >>> "parte" in s

    True

    >>> s.find("parte",6)

    15

    >>> s.find("parte",6,12)

    -1

    Computao I - aula 7 - 2014/1

  • 8

    String - Mtodos

    partition(sep): divide uma string em 3 partes : o que vem antes de sep,

    sep e o que vem aps sep.

    Caso sep no seja encontrado, a string retornada seguida por duas strings vazias.

    Exemplo

    >>> s = "quem parte e reparte, fica com a maior parte"

    >>> s.partition("t")

    ('quem par', 't', 'e e reparte, fica com a maior parte')

    >>>s.partition("z")

    ('quem parte e reparte, fica com a maior parte', '', '')

  • 9

    String - Mtodos

    join(sequencia): retorna uma string com todos os elementos da sequencia concatenados.

    Observao: Os elementos da sequncia tm que ser strings.

    Importante: A string objeto usada como separador entre os elementos.

    Exemplo

    >>> "/".join(("usr","bin","python")) ou "/".join(["usr","bin","python]) 'usr/bin/python'

    >>> "Q".join((1,2,3,4,5))

    TypeError: sequence item 0: expected string,

    int found

    >>> "Q".join(('1','2','3','4','5'))

    '1Q2Q3Q4Q5'

    >>> Q.join(('1','2','3','4','5'))

    Traceback (most recent call last):

    File "", line 1, in

    Q.join(('1','2','3','4','5'))

    NameError: name 'Q' is not defined

  • 10

    String - Mtodos

    Exerccio:

    Escreva uma funo que receba duas strings a e b, e retorne a

    concatenao delas no formato abba.

    Computao I - aula 7 - 2014/1

  • 11

    String - Mtodos

    Exerccio:

    Escreva uma funo que receba duas strings a e b, e retorne a

    concatenao delas no formato abba.

    Computao I - aula 7 - 2014/1

  • 12

    String - Mtodos

    split(separador): retorna uma lista com as substrings presentes entre

    cpias da string separador.

    Se separador no for especificado, assumido sequncias de caracteres

    em branco, tabs ou newlines.

    Exemplo

    >>> s = "xxx yyy zzz xxx yyy zzz"

    >>> s.split()

    ['xxx', 'yyy', 'zzz', 'xxx', 'yyy', 'zzz']

    >>> s.split('zzz')

    ['xxx yyy ', ' xxx yyy ', '']

  • 13

    String - Mtodos

    strip(ch): retorna a string sem caracteres iniciais ou finais que estejam na string ch.

    Se ch no for especificada, retira caracteres em branco.

    Pode-se tambm usar rstrip() e lstrip() para retirar caracteres, respectivamente, direita (final) ou esquerda(incio).

    Exemplo

    >>> " xxx afdsfa ".strip()

    'xxx afdsfa'

    >>> "xxx yyy zzz xxx".strip("xy ")

    'zzz'

    >>> " xxx".rstrip()

    ' xxx'

    Computao I - aula 7 - 2014/1

  • 14

    Exerccio

    A partir da string "!! ! a;b;c;d;e;f;gh!###########" gere o resultado: ['a','b','c','d','e','f','g']

    Computao I - aula 7 - 2014/1

  • 15

    Exerccio

    A partir da string "!! ! a;b;c;d;e;f;gh!###########" gere o resultado: ['a','b','c','d','e','f','g']

    Computao I - aula 7 - 2014/1

  • 16

    String - Mtodos

    replace(velho,novo,n): substitui as n instncias da string velho por novo.

    Se n no for definido, todas as trocas so feitas.

    Exemplo

    >>> s = "quem parte e reparte, fica com a maior parte"

    >>> s.replace("parte","parcela")

    'quem parcela e reparcela, fica com a maior parcela'

    >>> s.replace("parte","parcela",2)

    'quem parcela e reparcela, fica com a maior parte'

    Computao I - aula 7 - 2014/1

  • 17

    Exemplo

    Escreva uma funo que dada uma frase, uma palavra existente na frase, e uma

    nova palavra, substitua a LTIMA ocorrncia da palavra antiga pela palavra

    nova.

    Exemplo:

    Frase: quem parte e reparte fica com a maior parte Palavra existente na frase: parte Palavra nova: parcela Resposta: quem parte e reparte fica com a maior parcela

    Computao I - aula 7 - 2014/1

  • 18

    Exemplo

    Resposta:

    Computao I - aula 7 - 2014/1

  • 19

    String - Mtodos

    translate(trans): retorna uma cpia da string onde os caracteres so substitudos de

    acordo com a tabela de traduo trans.

    maketrans(velho,novo): retorna uma tabela de traduo onde os caracteres em velho

    so substitudos pelos caracteres em novo.

    Exemplo

    >>> from string import maketrans #necessrio na verso 2.x

    >>> trans = maketrans('qs', 'kz')

    # ou trans = .maketrans('qs', 'kz') na verso 3.2

    >>> s = "que surpresa: quebrei a cara"

    >>> s.translate(trans)

    'kue zurpreza: kuebrei a cara'

    Computao I - aula 7 - 2014/1

  • 20

    String - Mtodos

    Exerccio Dado uma string representando uma cadeia de DNA, faa uma funo

    que gere a sua cadeia complementar.

    Lembre que AT e CG.

    Exemplo:

    Dado AATCTGCAC, a funo retorna TTAGACGTG.

    Computao I - aula 7 - 2014/1

  • 21

    String - Mtodos

    Exerccio Dado uma string representando uma cadeia de DNA, faa uma funo que gere a sua cadeia complementar. Lembre que AT e CG. Exemplo: Dado AATCTGCAC, a funo retorna TTAGACGTG.

    Computao I - aula 7 - 2014/1

  • 22

    Tuplas

  • Tuplas

    Uma tupla uma sequncia heterognea (permite que seus elementos

    sejam de tipos diferentes).

    Tupla unitria: contm um nico elemento, que deve ser sucedido por

    uma vrgula.

    Os parnteses so opcionais se no provocarem ambiguidade.

    Computao I - aula 7 - 2014/1

  • Tuplas

    - Um valor entre parnteses sem vrgula no final meramente uma

    expresso

    >>> (10) >>> 3*(10+3)

    10 39

    >>> 10, >>> 3*(10+3,)

    (10,) (13, 13, 13)

    >>> (10,)

    (10,)

    Computao I - aula 7 - 2014/1

  • Tuplas

    Tuplas so muito similares s strings em relao s operaes:

    O tamanho de uma tupla dado pelo comando len.

    Indexao: comeando do 0 esquerda, ou de -1 direita.

    Fatiamento: idntico s strings.

    Imutabilidade.

    Concatenao e replicao.

    Computao I - aula 7 - 2014/1

  • Tuplas

    Exemplo:

    Joozinho quer comprar o maior nmero de bombons possvel com o

    dinheiro que tem. Faa funes para:

    a. calcular o nmero de bombons e o troco, dados o dinheiro e o preo de

    um bombom.

    b. calcular quanto Joozinho ter que pedir para sua me para comprar

    um bombom a mais, dados o dinheiro que ele tem e o preo de um

    bombom. Utilize a funo definida em a.

    Computao I - aula 7 - 2014/1

  • Tuplas

    Exemplo:

    Computao I - aula 7 - 2014/1

  • Tuplas - Mtodos

    tupla.count(elemento): retorna o nmero de ocorrncias de elemento

    na tupla.

    tupla.index(elemento, inicio, fim): retorna o ndice da primeira

    ocorrncia de elemento na tupla, a partir da posio inicio, at a

    posio fim - 1. Inicio e fim so opcionais.

    Computao I - aula 7 - 2014/1

  • 29