Manipulação de Strings. Vanessa Braganholo

Documentos relacionados
Manipulação de Strings. Vanessa Braganholo

Python: Tuplas e Strings. Claudio Esperança

Python para Bioinformática. Manipulação de Strings Prof. Alessandro Brawerman

Manipulação de Strings

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

Listas e Tuplas. Vanessa Braganholo

Organização de programas em Python. Vanessa Braganholo

MCG114 Programação de Computadores I. Strings. Strings. Strings. Strings. Strings 3/26/18. Profa. Janaína Gomide

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

TCC 00308: Programação de Computadores I Organização de programas em Python

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

Lista de exercícios para a prática de manipulação de Strings

Computação 1 - Python Aula 10 - Teórica: Estrutura de Dados - Dicionário. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 18

Computação 1 - Python Aula 6 - Teórica: Listas 1/ 28

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

Algoritmos e Estrutura de Dados Aula 04 Strings em Python parte 1

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

Vetores. Vanessa Braganholo

Programação de Computadores 1 Lista 2. Prof. Álvaro A. F. de Souza DECSI - ICEA - UFOP

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

Python Listas e Strings. Listas 23/11/2016. Por que usar listas? Listas. Listas - Solução. Listas - Problema

Manipulação de Listas. Vanessa Braganholo

Estruturas de Repetição e String. Vanessa Braganholo

Algoritmos e Estrutura de Dados Aula 02 Listas em Python

Python: Listas. Claudio Esperança

Curso Básico de Programação Aula 11. Revisão Aula Anterior Laços de Repetição While; Do-While; For.

Comandos de Entrada e Saída. Prof. Alberto Costa Neto Programação em Python

CURSO BÁSICO DE PROGRAMAÇÃO AULA 11. Revisão Aula Anterior Vetores Cadeia de Caracteres

1 Expressões, valores e tipos 1. 2 Variáveis e atribuições 5. cálculo de expressões segue a estrutura de parênteses e as prioridades dos operadores

Organização de programas em Python. Vanessa Braganholo

MCG126 Programação de Computadores II

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

Programação. Folha Prática 7. Lab. 7. Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved.

Linguagem de programação Strings

Linguagem de programação Strings

Algoritmos e estrutura de dados

Lista de Exercícios 4

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

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

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Para começar... Strings. Para começar... Strings. Exemplo...

Algoritmos e Programação

Universidade Federal do ABC MCTA Programação Estruturada 2018.Q3

CONCEITOS BÁSICOS DE PROGRAMAÇÃO PYTHON

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Sexta aula

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

Python: Exceções, Iteradores e Geradores. Claudio Esperança

Preparação para Maratona de Informática PYTHON

Arquivos. Vanessa Braganholo

TCC 00308: Programação de Computadores I Manipulação de listas

Aula 9 Oficina de Programação Strings. Profa. Elaine Faria UFU

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

Arquivos. Leonardo Murta

Introdução à Computação Strings

Lista de Exercícios - 1 Prof: Yuri Frota

String. Demonstrar a utilização e manipulação com os métodos da classe String.

Estruturas de dados funcionais

Python 3.x Estrutura de Repetição while

Programação de Computadores

Processamento da Informação Teoria. Strings

Lista de Exercícios STRING LINGUAGEM DE PROGRAMAÇÃO PROF. EDUARDO SILVESTRI.

Linguagem C. André Tavares da Silva.

Estruturas de Repetição. Vanessa Braganholo

Programação de Computadores II. Cap. 7 Cadeias de Caracteres 1/2

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

INF 1620 P4-06/12/02 Questão 1 Nome:

Laboratório de Programação A Exercícios sobre vetores e matrizes

Linguagem Python. Inteligência Artificial. Características de Python. Importando módulos. Módulos. Usando Python no modo interativo

Ambiente de desenvolvimento

INF 1620 P1-11/04/03 Questão 1 Nome:

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

Transcrição:

Manipulação de Strings Vanessa Braganholo vanessa@ic.uff.br

Strings } Representam informação textual nome = Maria Silva nacionalidade = brasileira nome_mae = Ana Santos Silva nome_pai = Jonas Nunes Silva 2

Acesso a conteúdo das Strings } Acesso pode ser feito pelo nome da variável que contém a string nome = Maria Silva print(nome) 3

Acesso a conteúdo das Strings } String pode ser tratada como uma lista } Caracteres podem ser acessados pela sua posição dentro da String >>> nome = Maria Silva >>> print(nome[0]) M >>> print(nome[6]) S 0 1 2 3 4 5 6 7 8 9 10 nome M a r i a S i l v a 4

Acesso a conteúdo das Strings } Fatias também podem ser usadas >>> nome = Maria Silva >>> print(nome[:5]) Maria >>> print(nome[6:]) Silva 0 1 2 3 4 5 6 7 8 9 10 nome M a r i a S i l v a 5

Alteração } Diferentemente das listas, o conteúdo das strings não pode ser alterado são sequências imutáveis >>> nome = Maria Silva >>> nome[3] = t Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'str' object does not support item assignment 6

Operadores } Alguns operadores que atuam sobre sequências podem ser usados em strings } in } len } + } * 7

in } letra in string } Retorna True ou False >>> nome = Maria Silva >>> M in nome True >>> B in nome False >>> m in nome False 8

len } len(string) } Retorna a quantidade de caracteres da string >>> nome = Maria >>> len(nome) 5 >>> nome = Maria Silva >>> len(nome) 11 9

+ (Concatenação) } string1 + string2 } Concatena duas strings >>> nome = Maria + Silva >>> nome MariaSilva >>> nome = Maria >>> sobrenome = Silva >>> nome_completo = nome + sobrenome >>> nome_completo MariaSilva 10

* (Repetição) } string * int } Repete a string int vezes >>> nome = Maria >>> nome_repetido = nome * 2 >>> nome_repetido MariaMaria 11

Percorrendo uma String } Os elementos de uma string podem ser acessados usando uma estrutura de repetição nome = Maria Silva for letra in nome: print(letra) nome = Maria Silva indice = 0 while indice < len(nome): print(nome[indice]) indice +=1 12

Operações sobre Strings } count } index } find } partition } join } split } strip } replace 13

count } string.count(substring[, inicio[, fim]]) } Retorna a quantidade de vezes que a substring aparece dentro da string, procurando a partir da posição início até a posição fim -1 14

count >>> texto = A humildade é o sólido fundamento de todas as virtudes >>> texto.count( i ) 3 >>> texto.count( i, 10) 2 >>> texto.count( i, 10, 20) 1 >>> texto.count( da ) 3 15

index } string.index(substring[, inicio[, fim]]) } Retorna o índice da primeira ocorrência da substring dentro da string, a partir da posição início, até a posição fim-1 16

index >>> texto = A humildade é o sólido fundamento de todas as virtudes >>> texto.index( l ) 6 >>> texto.index( l, 10) 18 >>> texto.index( da ) 7 >>> texto.index( da, 27, 50) 39 >>> texto.index( da, 27, 35) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: substring not found 17

find } string.find(substring[, inicio[, fim]]) } Retorna o índice da primeira ocorrência da substring dentro da string, a partir da posição início, até a posição fim-1 } Diferentemente de index, retorna -1 se a substring não for encontrada 18

find >>> texto = A humildade é o sólido fundamento de todas as virtudes >>> texto.find( da ) 7 >>> texto.find( da, 27, 50) 39 >>> texto.find( da, 27, 35) -1 19

partition } string.partition(separador) } Divide uma string em 3 partes } O que vem antes do separador } O separador } O que vem depois do separador } Caso o separador não seja encontrado na string, retorna a string original seguida de duas strings vazias } A string original não é modificada! 20

partition >>> texto = 10/12/2015 >>> texto.partition( / ) ( 10, /, 12/2015 ) >>> texto.partition( * ) ( 10/12/2015,, ) 21

join } separador.join(sequencia) } Retorna uma string com todos os elementos da sequencia concatenados, mas com o separador entre cada elemento. Os elementos da sequencia devem ser strings. } Também funciona com uma lista } A string original não é modificada! 22

join >>> -.join(( 1, 2, 3, 4, 5 )) 1-2-3-4-5 >>>.join(( par, te )) parte >>> A.join(( 1, 2 )) 1A2 >>> A.join([ 1, 2 ]) 1A2 23

split } string.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 } A string original não é modificada! 24

split >>> nome = Maria Silva >>> nome.split() [ Maria, Silva ] >>> /usr/bin/python.split( / ) [, usr, bin, python ] 25

strip } string.strip(ch) } Retorna uma cópia da string, removendo os caracteres de ch do início e do fim da string } Se ch não for especificado, retira caracteres em branco ou especiais } string.rstrip(ch) } Retira caracteres à direita } string.lstrip(ch) } Retira caracteres à esquerda } A string original não é modificada! 26

strip >>> "xxx yyy zzz xxx".strip("xy ") 'zzz >>> xxx.rstrip() xxx >>> xxx.lstrip() xxx >>> xxx.strip() xxx 27

replace } string.replace(velha, nova, n) } Retorna uma nova string com as n ocorrências da substring velha substituídas por nova } Se n não for definido, todas as substituições são feitas } A string original não é modificada! 28

replace >>> texto = 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 29

Exercícios 1. Escreva uma função que recebe uma frase e uma palavra antiga e uma palavra nova. A função deve retornar uma string contendo a frase original, mas com a última ocorrência da palavra antiga substituída pela palavra nova. A entrada e saída de dados deve ser feita no programa principal. } Exemplo: } Frase: Quem parte e reparte fica com a maior parte } Palavra antiga: parte } Palavra nova: parcela } Resultado a ser impresso no programa principal: Quem parte e reparte fica com a maior parcela 30

Exercícios 2. Faça uma função que recebe uma string que representa uma cadeia de DNA e gera a cadeia complementar. A entrada e saída de dados deve ser feita pelo programa principal. } Exemplo: } Entrada: AATCTGCAC } Saída: TTAGACGTG 31

Exercícios 3. Faça uma função que recebe uma frase e retorna o número de palavras que a frase contém. Considere que a palavra pode começar e/ou terminar por espaços. A entrada e saída de dados deve ser feita no programa principal. 4. Faça uma função que recebe uma frase e substitui todas as ocorrências de espaço por #, sem usar a função replace. Faça também uma função para realizar a entrada de dados. A saída de dados deve ser feita no programa principal. 32

Exercícios 5. Faça um programa que decida se duas strings lidas do teclado são palíndromas mútuas, ou seja, se uma é igual à outra quando lida de traz para frente. Exemplo: amor e roma. 6. Um anagrama é uma palavra que é feita a partir da transposição das letras de outra palavra ou frase. Por exemplo, Iracema é um anagrama para América. Escreva um programa que decida se uma string é um anagrama de outra string, ignorando os espaços em branco. O programa deve considerar maiúsculas e minúsculas. 33

Exercícios 7. Faça um programa que leia o nome do usuário e mostre o nome de traz para frente, utilizando somente letras maiúsculas. Exemplo: Nome = Vanessa Resultado gerado pelo programa: ASSENAV 34

Exercícios 8. Faça um programa que leia o nome do usuário e o imprima na vertical, em forma de escada, usando apenas letras maiúsculas. Exemplo: Nome = Vanessa Resultado gerado pelo programa: V VA VAN VANE VANES VANESS VANESSA 35

Exercícios 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaa e imprima a data com o mês escrito por extenso. Exemplo: Data = 20/02/1995 Resultado gerado pelo programa: Você nasceu em 20 de fevereiro de 1995 36

Referências } Slides de Aline Paes 37

Manipulação de Strings Vanessa Braganholo vanessa@ic.uff.br