Baixe o app para aproveitar ainda mais
Prévia do material em texto
“STRINGS” STRINGS Computador só pode guardar números. Como armazenar então os caracteres? Solução: códigos numéricos associados aos caracteres. Padronização através da tabela ASCII (American Standard Code for Information Interchange) STRINGS Exemplos: Caracter Código ASCII A 65 B 66 a 97 b 98 STRINGS – FUNÇÕES ORD E CHR Funções: ord: retorna o código ASCII a partir do caracter. Exemplo: ord(‘a’) retorna o valor 97 chr: retorna o caracter a partir do seu código ASCII Exemplo: chr(97) retorna o caracter ‘a’ Até o código 31 o uso é especial (comunicação por linha telefônica, rede e impressoras). TABELA ASCII (AMERICAN STANDARD CODE FOR INFORMATION INTERCHANGE) STRINGS A tabela ASCII possui 128 itens (de 0 a 127). Computadores entendem somente 0’s e 1’s Conversão decimal para binário (25510 = 111111112) 1 caracter = 8 bits = 1 byte STRINGS – EXERCÍCIO 1 Faça uma função que mostre todos os caracteres e símbolos da tabela ASCII e seus respectivos códigos. Exemplo de saída: O código ASCII do caracter ‘$’ é 36 STRINGS – EXERCÍCIO 1 #Programa ex1 def ex1(): '''Mostra caracteres imprimíveis da tabela ASCII''' for i in range(128): print('O código ASCII do caracter ', chr(i), ' é: ' , i) #fim for #Fim ex1 TABELA ASCII ESTENDIDA O TIPO STRING É diferente comparando-se a int e float. Está sempre delimitado por apóstrofo (‘eu sou uma string’). É composto de partes menores, os caracteres. Por este motivo é considerado um tipo de dados composto. Pode ser tratado como um único componente ou acessar caracteres individualmente. Uma String pode ser formada a partir da concatenação de outras partes de strings. STRINGS Conteúdo de var o l á Índice 0 1 2 var[0] = ‘o’ var[1] = ‘l’ var[2] = ‘á’ O valor entre [ ] indica qual letra você quer obter. Pode ser uma variável ou expressão. STRINGS Caracteres não podem ser alterados individualmente. msg = 'Hello, world!' msg[0] = 'J' # ERROR! TypeError: object doesn't support item assignment. FUNÇÕES DE STRINGS Comprimento de uma String. Função len(length) var = ‘olá’ tamanho = len(var) letra = var[tamanho-1] print(letra) STRINGS – EXERCÍCIO 2 Escreva uma função que mostre cada caracter de uma String, seus respectivos índices e códigos ASCII. Exemplo de saída: Caracter o, índice 0, ASCII 111 Caracter l, índice 1, ASCII 108 Caracter á, índice 2, ASCII 225 STRINGS – EXERCÍCIO 2 def ex2(): '''Imprime cada caracteres, índices e código ASCII ''' texto = input('Informe o texto: ') for i in range(len(texto)): print(texto[i], ' Índice ' , i, ' ASCII ' , ord(texto[i])) #Fim for #Fim ex2 STRINGS – EXERCÍCIO 3 Faça uma função que receba uma string e um caracter, percorra esta String a procura do caracter e retorne o seu índice ou a mensagem “caracter não encontrado”. STRINGS – EXERCÍCIO 3 def ex3(s, ch): indice = None for i in range(len(s)): if s[i] == ch: indice = i break #fim for return indice #fim ex3() #PP ch = input('Digite um caracter: ') indice = ex3('COMPUTAÇÃO', ch) if indice != None: print('O caracter ' , ch, ' tem índice ' , indice) else: print('O caracter ' , ch, ' não foi encontrado') STRINGS – OPERADOR [ ] Substrings (fatia ou segmento de uma String) O operador [n:m] retorna a 'fatia' de n até m, incluindo o primeiro e excluindo o último. STRINGS – OPERADOR [ ] Substrings (fatia ou segmento de uma String) João, Maria e José 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [0:4] [6:11] [14:18] STRINGS – OPERADOR [ ] Substrings (fatia ou segmento de uma String) s = 'João, Maria e José' print(s[0:4]) print(s[6:11]) print(s[14:18]) João, Maria e José 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [0:4] [6:11] [14:18] STRINGS – OPERADOR [ ] Substrings (fatia ou segmento de uma String) O operador [:m] retorna a fatia do início da string. O operador [m:] retorna a fatia de m até o fim da string. João, Maria e José 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [:4] [6:] OPERAÇÕES COM STRINGS Operações matemáticas não podem ser efetuadas em Strings, mesmo que seu conteúdo seja números. Exemplos com erros: Message = 1 ‘Hello’ / 123 Message * ‘Hello’ ’15’ + 2 OPERAÇÕES COM STRINGS nome = ‘José’ sobrenome = ‘Silva’ nomecompleto = nome + ‘ ‘ + sobrenome Os operadores + e * funcionam com Strings, efetuando operações de concatenação e repetição: msg = ‘Hello’ print(3*msg) STRINGS – FUNÇÕES Módulo String: mais algumas funções úteis: print('\n'*5) text = 'COMO MANIPULAR STRINGS' print( 'upper', '=>', text.upper()) print('lower', '=>', text.lower()) print('replace', '=>', text.replace('STRING', 'TEXTO')) print('find', '=>', text.find('STRING')) print('count', '=>', text.count('A')) STRINGS – EXERCÍCIO 4 Escreva uma função que receba uma string que contenha uma frase terminada por um ponto final. Mostre o número de palavras que existem na frase. STRINGS – EXERCÍCIO 4 def ex4(frase): '''Conta palavras de uma frase''' count = 0 for i in range(len(frase)): if frase[i] == ' ' or frase[i] == '.': count +=1 #fim for print('Palavras encontradas: ' , count) #fim ex4 #PP frase = input('Frase:' ) ex4(frase) STRINGS – EXERCÍCIO 4 def ex4(frase): '''Conta palavras de uma frase''' if frase == '': print('Frase vazia.') else: print('Palavras encontradas: ' , frase.count(' ') + 1) #fim ex4 #PP frase = input('Frase:' ) ex4(frase) STRINGS – EXERCÍCIO 5 Escreva uma função que leia strings e escreva se é uma palavra palíndroma. Uma string palíndroma é aquela que tem o mesmo resultado se lida da esquerda para a direita ou da direita para a esquerda. Exemplo: 'RIR', 'ASA', 'SOLOS', 'RALAR', 'AMA'. S O L O S S O L O S STRINGS – EXERCÍCIO 5 def ex5(): '''Verifica se é palíndroma''' palavra = input('Informe uma palavra: ') j = len(palavra) palindroma = True for i in range(j): if palavra[i].upper() != palavra[j-1].upper(): palindroma = False break j = j-1 #fim for print('Palíndroma ', palindroma) #fim ex5
Compartilhar