Processamento da Informação Teoria. Strings

Documentos relacionados
Processamento da Informação Teoria. Exercícios sobre strings

Processamento da Informação Teoria. Recursividade

Introdução à Ciência da Computação Disciplina: Prof. Edison Ishikawa Python 3.0 Aula 05 Listas

Algoritmos e Estrutura de Dados Aula 02 Listas em Python

Processamento da Informação Teoria Funções

Computação I - Python Aula 1 - Teórica: Manipulação de Strings, Tuplas e Listas

FUNDAMENTOS DA PROGRAMAÇÃO 1º Teste, 19 de abril de 2013, 1h30m

Computação 1 - Python Aula 3 - Teórica: Tipos de dados, Strings, Estrutura Condicional 1/ 28

Linguagem Python. Processamento Estatístico da Linguagem Natural. Barra invertida em strings. Strings. Aspas triplas. Operações com Strings

Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.

INTRODUÇÃO À COMPUTAÇÃO - RESUMO E EXERCÍCIOS* P2

SCC0124 Introdução à Programação para Engenharias

Algoritmos e Estrutura de Dados Aula 08 Pilhas

Conceitos de Linguagens de Programação

Introdução à Computação Strings

Introdução à Programação

Estruturas de Dados em Python

Processamento da Informação Teoria. Desvio Condicional

Listas. Prof. Alberto Costa Neto Programação em Python

Instituto Federal de Educação, Ciência e Tecnologia do RN Câmpus Currais Novos. LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I

PYTHON - Strings. Introdução à Programação SI1

PYTHON LISTAS. Introdução à Programação SI1

1. Para cada pergunta selecione uma opção. Resposta correta +2, incorreta -1. [12 pontos]

Listas e Tuplas. Vanessa Braganholo

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

PRIMEIROS PASSOS COM PYTHON. Prof. Msc. Luis Filipe Alves Pereira 2015

Manipulação de Strings

1 Da aula teórica ao Java

Manipulação de Strings. Vanessa Braganholo

Lista de Exercícios 4

Computação 1 - Python Aula 4 - Teórica Variáveis e Atribuição, Strings. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 30

MAC2166 Introdução à Computação

AULA 2: INTRODUÇÃO A PYTHON. Luís Feliphe Silva Costa

Características de Python. Inteligência Artificial. Baixando e Instalando. Operadores. Variáveis. Strings 9/10/2010

Computação 1 - Python Aula 8 - Teórica: Estrutura de Repetição : for 1/ 10

Listas: nós de cabeçalho, listas não homogêneas, listas generalizadas. SCC-502 Algoritmos e Estruturas de Dados I

Fundamentos de Lógica e Algoritmos. Aula 3.2 IDLE, Variáveis e Tipos. Prof. Dr. Bruno Moreno

Introdução à Computação - aulas 01 e 02 -

MAC2166 Introdução à Computação

Python: Listas. Claudio Esperança

Orientação a Objetos e Java

Linguagem de Programação III - PHP

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

Linguagens de Programação Aula 14

Aula de hoje. Listas. Sequências especiais. Introdução. Listas. Sequências. SCC Introdução à Programação para Engenharias

Vetores Unimensionais

Aula de hoje. Comandos. Comandos simples. Comandos. Comandos de controle. Bloco de comandos. SCC Introdução à Programação para Engenharias

4. Constantes. Constantes pré-definidas

Computação 1 - Python Aula 7 - Teórica: Estrutura de Repetição com teste de parada: while 1/ 23

Vetores. Vanessa Braganholo

Informática para Ciências e Engenharias 2013/14. Teórica 7

Computação I - Python Aula 4 - Teórica: Variáveis e Atribuição, Strings

Vetores Unimensionais

Paradigmas de Linguagens

Aula de hoje. Tipos de Dados e Variáveis. Constantes literais. Dados. Variáveis. Tipagem dinâmica. SCC Introdução à Programação para Engenharias

imprimir seus quadrados.

Manipulação de Strings. Vanessa Braganholo

AULA 02 DADOS PRIMITIVOS E EXERCÍCIOS

Programação I Aula 17 Correção de programas Pedro Vasconcelos DCC/FCUP

Introdução à Programação

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas

Linguagem Java - Introdução

Transcrição:

Processamento da Informação Teoria Strings Semana 04 Prof. Jesús P. Mena-Chalco 15/05/2013

Das aulas anteriores... Vimos vários tipos de dados: int, float, long, string Stings são qualitativamente diferentes dos outros tipos pois são compostas de pedaços menores (caracteres): Tipo de dado composto. >>> x = mensagem >>> print x mensagem

Uma string é uma sequência Uma string (cadeia) é uma sequência de caracteres. Podemos acessar aos caracteres com o operador colchete >>> fruta = "banana" >>> letra = fruta[1]

Uma string é uma sequência Uma string (cadeia) é uma sequência de caracteres. Podemos acessar aos caracteres com o operador colchete >>> fruta = "banana" >>> letra = fruta[1] >>> print letra a

Uma string é uma sequência A primeira letra ( b ) tem a posição 0. A segunda letra ( a ) tem a posição 1,... >>> fruta = "banana" >>> print fruta[0] b >>> print fruta[1] a >>> print fruta[2] n Índices

Uma string é uma sequência A primeira letra ( b ) tem a posição 0. A segunda letra ( a ) tem a posição 1,... >>> fruta = "banana" >>> print fruta[0] b >>> print fruta[1] a >>> print fruta[2] n >>> print fruta[1.5]

Uma string é uma sequência A primeira letra ( b ) tem a posição 0. A segunda letra ( a ) tem a posição 1,... >>> fruta = "banana" >>> print fruta[0] b >>> print fruta[1] No índice: a Podemos usar qualquer expressão, incluindo variáveis e operadores, >>> print fruta[2] Entretanto, o valor do índice deve ser inteiro. n >>> print fruta[1.5] TypeError: string indices must be integers

Comprimento A função len retorna o número de caracteres de uma string. >>> fruta = "banana" >>> len(fruta) 6

Comprimento A função len retorna o número de caracteres de uma string. >>> fruta = "banana" >>> len(fruta) 6 Para pegar a última letra de uma string, podemos tentar realizar a seguinte operação: >>> comprimento = len(fruta) >>> ultima = fruta[comprimento] IndexError: string index out of range Índice fora do intervalo

Comprimento A função len retorna o número de caracteres de uma string. >>> fruta = "banana" >>> len(fruta) 6 Para pegar a última letra de uma string, podemos tentar realizar a seguinte operação: >>> comprimento = len(fruta) >>> ultima = fruta[comprimento-1]

Percorrendo uma string com um laço Várias operações envolvem processamento de strings, considerando um caractere de cada vez. Exemplo para percorrer e imprimir cada letra da variável fruta: indice = 0 while indice < len(fruta): letra = fruta[indice] print letra indice = indice + 1

Percorrendo uma string com um laço Várias operações envolvem processamento de strings, considerando um caractere de cada vez. Exemplo para percorrer e imprimir cada letra da variável fruta: indice = 0 while indice < len(fruta): letra = fruta[indice] print letra indice = indice + 1 Se fruta = banana Então o resultado será: b a n a n a

Percorrendo uma string com um laço Várias operações envolvem processamento de strings, considerando um caractere de cada vez. Exemplo para percorrer e imprimir cada letra da variável fruta: indice = len(fruta)-1 while indice >= 0 : letra = fruta[indice] print letra indice = indice - 1 Imprime as letras de trás para frente Se fruta = banana Então o resultado será: a n a n a b

Percorrendo uma string com um laço Também podemos usar o laço for para percorrer uma string. for letra in fruta: print letra A cada vez através do laço, o próximo caractere da string é atribuído à variável letra. O laço continua até que não reste mas caracteres.

Percorrendo uma string com um laço Exemplo de concatenação de strings para a geração de uma série abecedário: prefixos = "JKLMNOPQ" sufixo = "ack" for letra in prefixos: print letra + sufixo

Percorrendo uma string com um laço Exemplo de concatenação de strings para a geração de uma série abecedário : prefixos = "JKLMNOPQ" sufixo = "ack" for letra in prefixos: print letra + sufixo Jack Kack Lack Mack Nack Oack Pack Qack

Fatias de strings Um segmento de uma string é chamado de uma fatia (subsequência). Selecionar uma fatia é similar a selecionar um caractere. >>> s = "Pedro, Paulo e Maria" >>> print s[0:5] Pedro >>> print s[7:12] Paulo >>> print s[16:21] Maria

Fatias de strings O operador [m:n] retorna a parte da string do m-ésimo caractere ao n-ésimo caractere, incluindo o primeiro mas excluindo o último. (esse comportamento não é intuitivo) Fruta[0:3] ban Fruta[3:3]

Fatias de strings O operador [m:n] retorna a parte da string do m-ésimo caractere ao n-ésimo caractere, incluindo o primeiro mas excluindo o último. (esse comportamento não é intuitivo) fruta[0:3] ban fruta[3:3] fruta[6:3] Se o primeiro índice é maior ou igual ao segundo índice, o resultado será uma string vazia

Uma função find O que faz a seguinte função? def find(cadeia, letra): indice = 0 while indice < len(cadeia): if cadeia[indice] == letra: return indice indice = indice + 1 return -1

Uma função find O que faz a seguinte função? def find(cadeia, caractere): indice = 0 while indice < len(cadeia): if cadeia[indice] == caractere: return indice indice = indice + 1 return -1 A função procura o índice do caractere na cadeia. Se o caractere não é encontrado, a função retorna -1.

Iterando e contando O seguinte programa conta o número de vezes que a letra 'a' aparece na string fruta: fruta = "banana" contador = 0 for letra in fruta: if letra == 'a' contador = contador + 1 print contador

Iterando e contando Generalizando o procedimento para contar o número de vezes que aparece uma letra em uma cadeia. def contar_vezes(cadeia, letra) contador = 0 for l in cadeia: if l == letra contador = contador + 1 return contador

O operador in A palavra in é um operador booleano que considera duas strings e retorna True se a primeira aparece como uma substing na segunda: >>> 'a' in 'banana' True >>> 'caqui' in 'banana' False >>> 'ana' in 'banana' True

O operador in A seguinte função imprime todas as letras da palavra1 que aparece também na palavra2: def procura_letras(palavra1, palavra2): for letra in palavra1: if letra in palavra2: print letra

O operador in A seguinte função imprime todas as letras da palavra1 que aparece também na palavra2: def procura_letras(palavra1, palavra2): for letra in palavra1: if letra in palavra2: print letra >>> procura_letras('apples', 'oranges') a e s

Atividade em aula Questao 1: Crie uma função que receba duas palavras e retorne True se uma das palavras é o reverso da outra: def reverso(palavra1, palavra2): Exemplo: 'pots' é reverso de 'stop' 'livres' é reverso de 'servil'

Atividade em aula

Atividade em aula

Atividade em aula

Atividade em aula Questão 2: Crie uma função que receba duas palavras e retorne True caso a primeira palavra seja um prefixo da segunda: Cabeçalho: def prefixo (palavra1, palavra2): Exemplo: 'uf' é prefixo de 'ufabc'

Atividade em aula Solução com erro...

Atividade em aula

Atividade em aula Questão 3: Crie uma função que receba duas palavras e retorne True caso a primeira palavra seja um sufixo da segunda: Cabeçalho: def sufixo (palavra1, palavra2): Exemplo: 'abc' é sufixo de 'ufabc'

Atividade em aula