vanessa braganholo [email protected]/material/prog-python/10-strings.pdf · vanessa ....

25
Manipulação de Strings Vanessa Braganholo [email protected]

Upload: others

Post on 21-Jul-2020

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

Manipulação de Strings

Vanessa [email protected]

Page 2: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

Strings

2

} Representam informação textual

nome = “Maria Silva”

nacionalidade = “brasileira”nome_mae = “Ana Santos Silva”

nome_pai = “Jonas Nunes Silva”

Page 3: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

Acesso a conteúdo das Strings

3

} Acesso pode ser feito pelo nome da variável que contém a string

nome = “Maria Silva”print(nome)

Page 4: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

Acesso a conteúdo das Strings

4

} 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])

S0 1 2 3 4 5 6 7 8 9 10

M a r i a S i l v anome

Page 5: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

Alteração

5

} 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 supportitem assignment

Page 6: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

Operadores

6

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

Page 7: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

in

7

} substring in string} Retorna True ou False

>>> nome = “Maria Silva”>>> “M” in nomeTrue>>> “B” in nomeFalse>>> “m” in nomeFalse>>> “ria” in nomeTrue

Page 8: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

len

8

} len(string)} Retorna a quantidade de caracteres da string

>>> nome = “Maria”

>>> len(nome)5

>>> nome = “Maria Silva”>>> len(nome)

11

Page 9: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

+ (Concatenação)

9

} string1 + string2 } Concatena duas strings

>>> nome = “Maria” + “Silva”>>> nomeMariaSilva

>>> nome = “Maria”>>> sobrenome = “Silva”>>> nome_completo = nome + sobrenome>>> nome_completoMariaSilva

Page 10: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

* (Repetição)

10

} string * int} Repete a string int vezes

>>> nome = “Maria”

>>> nome_repetido = nome * 2>>> nome_repetido

MariaMaria

Page 11: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

Percorrendo uma String

11

} 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”for i in range(len(nome)):

print(nome[i])

nome = “Maria Silva”indice = 0while indice < len(nome):

print(nome[indice])indice +=1

Page 12: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

Operações úteis sobre Strings

12

} upper} lower

Page 13: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

upper

13

} string.upper() } Retorna a string com letras minúsculas substituídas por

maiúsculas

} A string original não é modificada!

Page 14: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

upper

14

>>> texto = “Quem parte e reparte, fica com a maior parte”>>> texto.upper()“QUEM PARTE E REPARTE FICA COM A MAIOR PARTE”

Page 15: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

lower

15

} string.lower() } Retorna a string com letras maiúsculas substituídas por

minúsculas

} A string original não é modificada!

Page 16: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

lower

16

>>> texto = “Quem parte e reparte, fica com a maior parte”>>> texto.lower()“quem parte e reparte, fica com a maior parte”

Page 17: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

Exercícios

17

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”

Page 18: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

Exercícios

18

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

Page 19: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

Exercícios

19

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 “#”. Faça também uma função para realizar a entrada de dados. A saída de dados deve ser feita no programa principal.

Page 20: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

Exercícios

20

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 “America”. 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 como sendo caracteres iguais, ou seja, “a” = “A”.

Page 21: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

Exercícios

21

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

Page 22: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

Exercícios

22

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 = VanessaResultado gerado pelo programa: VVAVANVANEVANESVANESSVANESSA

Page 23: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

Exercícios

23

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

Page 24: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

Referências

24

} Slides de Aline Paes

Page 25: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae

Manipulação de Strings

Vanessa [email protected]