Baixe o app para aproveitar ainda mais
Prévia do material em texto
Manipulação de Strings Anderson Barroso Tipo de Dados String • • • • • TypeError: Can't convert 'int' object to str implicitly Lendo e Convertendo • • • Detalhes Internos de Strings • • • • B A N A N A 0 1 2 3 4 5 fruta = 'banana' letra = fruta[1] print (letra) A n = 3 w = fruta[n - 1] print (w) N letra = fruta[7] Comprimento de Strings • B A N A N A 0 1 2 3 4 5 fruta = 'banana' print (len(fruta)) que nos dá o comprimento de uma string Laços e Strings • B A N A N A 0 1 2 3 4 5 fruta = 'banana' indice = 0 while indice < len(fruta): letra = fruta[indice] print (indice, letra) indice = indice + 1 0 b 1 a 2 n 3 a 4 n 5 a Laços e Strings • • B A N A N A 0 1 2 3 4 5 fruta = ‘banana’ for letra in fruta: print letra b a n a n a Mais detalhes sobre o in • • • Slicing (particionando) Strings • • • • M o n t y P y t h o N 0 1 2 3 4 5 6 7 8 9 10 11 s = 'Monty Python' print s[0:4] Mont print s[6:7] P print s[6:20] Python Slicing (particionando) Strings • M o n t y P y t h o N 0 1 2 3 4 5 6 7 8 9 10 11 s = 'Monty Python' print s[:2] Mo print s[8:] thon print s[:] Monty Python Usando in como um operador lógico • • M o n t y P y t h o N 0 1 2 3 4 5 6 7 8 9 10 11 fruta = 'banana' 'n' in fruta True 'm' in fruta False 'nan' in fruta True if 'a' in fruta : print 'Encontrado!' Comparação de Strings if palavra == 'banana': print (‘Ok’) if palavra > 'banana': ... Strings são imutáveis • É tentador usar o operador [] no lado esquerdo de uma atribuição, com a intenção de alterar um caractere em uma string. • O melhor que você pode fazer é criar uma string que seja uma variação da original: fruta = 'banana' fruta[0]= ‘C’ Errado!!! TypeError: 'str' does not support item assignment fruta = 'banana' fruta2 = ‘C’ + fruta[1:] Biblioteca (Library) de String • • • cump = 'Ola Bob‘ cump.lower() print ('Bom Dia!'.lower()) Biblioteca (Library) de String ['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'] https://docs.python.org/2/library/stdtypes.html#string-methods https://docs.python.org/2/library/stdtypes.html#string-methods Biblioteca (Library) de String str.capitalize() str.center(width[, fillchar]) str.endswith(suffix[, start[, end]]) str.find(sub[, start[, end]]) str.lstrip([chars]) str.replace(old, new[, count]) str.lower() str.rstrip([chars]) str.strip([chars]) str.upper() Função eval() a="35+2“ print(eval(a)) 37 b=7 c=8 media="(b+c)/2" print(eval(media)) 7.5 • Buscando uma String • • • • B A N A N A 0 1 2 3 4 5 fruta = 'banana' pos = fruta.find('na') print (pos) 2 pos_z = fruta.find(‘z') -1 Transformando em Maiúsculo fruta = 'banana' fruta2 = fruta.upper() fruta3 = 'banana'.upper() Transformando em Minúsculo fruta = 'banana' fruta2 = fruta.lower() fruta3 = 'banana'.lower() Busca e Substituição • • nome = ‘Olá Maria’ nome2 = fruta.replace(‘Maria’,’José’) Extraindo espaços em branco • • • str = ‘ Olá Maria ’ str2 = str.lstrip str3 = str.rstrip str4 = str.strip Exercícios 1. Faça um programa que leia 2 strings e informe o conteúdo delas seguido do seu comprimento. Informe também se as duas strings possuem o mesmo comprimento e são iguais ou diferentes no conteúdo. 2. Faça um programa que permita ao usuário digitar o seu nome e em seguida mostre o nome do usuário de trás para frente utilizando somente letras maiúsculas. Dica: lembre−se que ao informar o nome o usuário pode digitar letras maiúsculas ou minúsculas. 3. Faça um programa que solicite o nome do usuário e imprima-o na vertical. 4. Modifique o programa anterior de forma a mostrar o nome em formato de escada. J JO JOS JOSÉ Exercícios 5. Faça um programa que solicite a data de nascimento (dd/mm/aaaa) do usuário e imprima a data com o nome do mês por extenso. 6. Dada uma string com uma frase informada pelo usuário (incluindo espaços em branco), conte: • quantos espaços em branco existem na frase. • quantas vezes aparecem as vogais a, e, i, o, u 7. Faça um programa que leia um número de telefone no formato 7999999999 e imprima na tela no formato (79)99999-9999 8. Crie uma função que teste se uma string está escrita em minúsculo e retorne um valor lógico Verdadeiro ou Falso 9. Faça uma função que receba uma string e retorne a quantidade de vogais dela. Data de Nascimento: 29/10/1983 Você nasceu em 29 de Outubro de 1983. Exercícios 10. Um palíndromo é uma seqüência de caracteres cuja leitura é idêntica se feita da direita para esquerda ou vice−versa. Por exemplo: OSSO e OVO são palíndromos. Em textos mais complexos os espaços e pontuação são ignorados. A frase: “SUBI NO ONIBUS” “ANOTARAM A DATA DA MARATONA” é o exemplo de uma frase palíndromo onde os espaços foram ignorados. Faça uma função que receba uma seqüência de caracteres e retorne se é um palíndromo ou não.
Compartilhar