Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 7– Strings e Tuplas 2 Métodos associados a String • Uma string possui vários métodos (funções) disponíveis para executar diferentes tarefas. • Para utilizar um método, deve-se usar a sintaxe: identificador.método(parâmetros). • Para listar os métodos (e outros atributos) disponíveis, utilize o comando: dir(identificador). Computação I - aula 7 - 2014/1 3 Métodos associados a String • Para obter a descrição 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.. Computação I - aula 7 - 2014/1 4 String - Métodos lower(): retorna a string com todos os caracteres maiúsculos convertidos para minúsculos. upper(): retorna a string com todos os caracteres minúsculos convertidos para maiúsculos. Exemplo >>> "Esperança".upper() ESPERANÇA >>> "Pé de Laranja Lima".lower() pé de laranja lima Computação I - aula 7 - 2014/1 5 String - Métodos count(elemento, inicio, fim): retorna quantas vezes o elemento aparece na string, procurando-se a partir da posição inicio e indo até a posição fim - 1. • inicio e fim são opcionais. Exemplo Computação I - aula 7 - 2014/1 6 String - Métodos index(elemento, inicio, fim): retorna o índice da primeira ocorrência de elemento na string, a partir da posição inicio, até a posição fim - 1. • Inicio e fim são opcionais. Exemplo Computação I - aula 7 - 2014/1 7 String - Métodos find(substring,inicio,fim): Retorna o índice da primeira ocorrência de substring. - inicio e fim são opcionais e indicam os intervalos de índices onde a busca será efetuada. Os defaults são, respectivamente, 0 e comprimento da string. - Caso substring não apareça 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 Computação I - aula 7 - 2014/1 8 String - Métodos partition(sep): divide uma string em 3 partes : o que vem antes de sep, sep e o que vem após sep. • Caso sep não 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 - Métodos join(sequencia): retorna uma string com todos os elementos da sequencia concatenados. Observação: Os elementos da sequência têm 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 "<pyshell#3>", line 1, in <module> Q.join(('1','2','3','4','5')) NameError: name 'Q' is not defined 10 String - Métodos Exercício: Escreva uma função que receba duas strings a e b, e retorne a concatenação delas no formato abba. Computação I - aula 7 - 2014/1 11 String - Métodos Exercício: Escreva uma função que receba duas strings a e b, e retorne a concatenação delas no formato abba. Computação I - aula 7 - 2014/1 12 String - Métodos split(separador): retorna uma lista com as substrings presentes entre cópias da string separador. Se separador não for especificado, é assumido sequências 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 - Métodos strip(ch): retorna a string sem caracteres iniciais ou finais que estejam na string ch. Se ch não for especificada, retira caracteres em branco. • Pode-se também usar rstrip() e lstrip() para retirar caracteres, respectivamente, à direita (final) ou à esquerda(início). Exemplo >>> " xxx afdsfa ".strip() 'xxx afdsfa' >>> "xxx yyy zzz xxx".strip("xy ") 'zzz' >>> " xxx".rstrip() ' xxx' Computação I - aula 7 - 2014/1 14 Exercício A partir da string "!! ! a;b;c;d;e;f;gh!###########" gere o resultado: ['a','b','c','d','e','f','g'] Computação I - aula 7 - 2014/1 15 Exercício A partir da string "!! ! a;b;c;d;e;f;gh!###########" gere o resultado: ['a','b','c','d','e','f','g'] Computação I - aula 7 - 2014/1 16 String - Métodos replace(velho,novo,n): substitui as n instâncias da string velho por novo. Se n não for definido, todas as trocas são 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' Computação I - aula 7 - 2014/1 17 Exemplo Escreva uma função que dada uma frase, uma palavra existente na frase, e uma nova palavra, substitua a ÚLTIMA ocorrência 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” Computação I - aula 7 - 2014/1 18 Exemplo Resposta: Computação I - aula 7 - 2014/1 19 String - Métodos translate(trans): retorna uma cópia da string onde os caracteres são substituídos de acordo com a tabela de tradução trans. maketrans(velho,novo): retorna uma tabela de tradução onde os caracteres em velho são substituídos pelos caracteres em novo. Exemplo >>> from string import maketrans #necessário na versão 2.x >>> trans = maketrans('qs', 'kz') # ou trans = “”.maketrans('qs', 'kz') na versão 3.2 >>> s = "que surpresa: quebrei a cara" >>> s.translate(trans) 'kue zurpreza: kuebrei a cara' Computação I - aula 7 - 2014/1 20 String - Métodos Exercício Dado uma string representando uma cadeia de DNA, faça uma função que gere a sua cadeia complementar. Lembre que A<->T e C<->G. Exemplo: Dado AATCTGCAC, a função retorna TTAGACGTG. Computação I - aula 7 - 2014/1 21 String - Métodos Exercício Dado uma string representando uma cadeia de DNA, faça uma função que gere a sua cadeia complementar. Lembre que A<->T e C<->G. Exemplo: Dado AATCTGCAC, a função retorna TTAGACGTG. Computação I - aula 7 - 2014/1 22 Tuplas Tuplas ● Uma tupla é uma sequência heterogênea (permite que seus elementos sejam de tipos diferentes). ● Tupla unitária: contém um único elemento, que deve ser sucedido por uma vírgula. ● Os parênteses são opcionais se não provocarem ambiguidade.Computação I - aula 7 - 2014/1 Tuplas - Um valor entre parênteses sem vírgula no final é meramente uma expressão >>> (10) >>> 3*(10+3) 10 39 >>> 10, >>> 3*(10+3,) (10,) (13, 13, 13) >>> (10,) (10,) Computação I - aula 7 - 2014/1 Tuplas ● Tuplas são muito similares às strings em relação às operações: ● O tamanho de uma tupla é dado pelo comando len. ● Indexação: começando do 0 à esquerda, ou de -1 à direita. ● Fatiamento: idêntico às strings. ● Imutabilidade. ● Concatenação e replicação. Computação I - aula 7 - 2014/1 Tuplas Exemplo: Joãozinho quer comprar o maior número de bombons possível com o dinheiro que tem. Faça funções para: a. calcular o número de bombons e o troco, dados o dinheiro e o preço de um bombom. b. calcular quanto Joãozinho terá que pedir para sua mãe para comprar um bombom a mais, dados o dinheiro que ele tem e o preço de um bombom. Utilize a função definida em a. Computação I - aula 7 - 2014/1 Tuplas Exemplo: Computação I - aula 7 - 2014/1 Tuplas - Métodos ● tupla.count(elemento): retorna o número de ocorrências de elemento na tupla. ● tupla.index(elemento, inicio, fim): retorna o índice da primeira ocorrência de elemento na tupla, a partir da posição inicio, até a posição fim - 1. Inicio e fim são opcionais. Computação I - aula 7 - 2014/1 29 Aula 7 – Strings e Tuplas
Compartilhar